1. 程式人生 > >Easyui之Tabs轉化新增遮罩

Easyui之Tabs轉化新增遮罩

Easyui中存在頁籤Tabs,通過頁籤可以將若干頁面集合到一起,但是當tab新增一個遠端介面的時候,如果頁面載入量較多,會出現長時間的等待,這就需要遮罩。

因為我的專案主要是在tab中新增content,通過iframe載入遠端檔案,所以下面自定義的遮罩主要是對應iframe來設定的.設定遮罩最主要的是獲取iframe是否已經載入完成,

判斷iframe是否載入完成的主要程式碼:

if(iframe.attachEvent){       //應對ie瀏覽器
    iframe.attachEvent("onload",function(){
        alert("Local iframe is now loaded."
);});}else{     iframe.onload =function(){ //對應其他瀏覽器         alert("Local iframe is now loaded.");};}
其中iframe是你獲取的頁面的iframe.
獲取了判斷iframe是否載入完成的方法,其他的方面就很容易解決了。首先就是要獲取iframe,由於在
tabs中,我利用tabs中的onAdd:function(title,index)方法,程式碼如下:
var $tabBody = $(this).tabs('getTab',index); //獲取當前新增的tab頁面
var $iframe = $tabBody.find("iframe")[0];   //獲取當前tab頁面中的iframe.
獲取了這些準備工作基本就完成了,組合一下就可以實現tab開啟時遮罩,具體程式碼如下:
onAdd:function(title,index) {
      var $tabBody = $(this).tabs('getTab',index);
      var $container = $('<div style="position:absolute;z-index:1000;top:30px;left:0px;width:100%;height:100%;'+
           'background:#C9C9C9;text-align:center;padding-top: 20%;">'+
           '<div class="mask-message" style="z-index:3;width:auto;height:16px;'+
           'line-height:16px;position:absolute;top:30%;left:40%;border:2px solid #d4d4d4;'+
           'padding: 12px 5px 10px 30px;background: #ffffff url(\'../../themes/default/images/loading.gif\')'+
           ' no-repeat scroll 5px center;">正在載入,請稍後...</div></div>').appendTo($tabBody);
      var $iframe = $tabBody.find("iframe")[0];


      if($iframe.attachEvent) {
  $iframe.attachEvent("onload", function(){
$container.remove(); 
  });
      } else {
 $iframe.onload = function() {
$container.remove(); 
};
     }
}
本文參考連結:http://blog.csdn.net/programmer_sir/article/details/44840075


相關推薦

EasyuiTabs轉化新增

Easyui中存在頁籤Tabs,通過頁籤可以將若干頁面集合到一起,但是當tab新增一個遠端介面的時候,如果頁面載入量較多,會出現長時間的等待,這就需要遮罩。 因為我的專案主要是在tab中新增conte

Bootstrap modal 多彈窗疊加關閉陰影問題的解決方法

生成 trap static str blog bootstrap 我們 主頁 function 這裏也會遇到一次性關閉所有modal引起陰影遮罩的問題,也就是所有modal都關閉了,但是主頁面仍然被陰影遮罩. 這個問題從哪來的,是因為modal疊加,我們點擊窗口之外的空白

easyui彈出加載層(轉)

data bsp yui 取消加載 true 彈出 pan doc outer //彈出加載層 function load() { $("<div class=\"datagrid-mask\"></div>").css({ displ

iOS新增

新增遮罩層的原理是在一個可以操作的UIView下面有另一個UIView,下邊的UIView的作用是遮擋住頁面,使其無法進行操作,直到前一個介面的操作結束,然後直接將後一個UIView移除,程式碼如下: [UIView animateWithDuration:0.4 animations

div上新增層用於提示資訊

實現重點:背景div設定屬性position: relative;,遮罩層div設定屬性position: absolute;,背景屬性background,屬性bottom: 0;讓遮罩層div在背景div裡面。 <!DOCTYPE html> <html> &l

LayaAir 點陣圖新增與濾鏡

目錄 mask 遮罩 濾鏡 ColorFilter 顏色濾鏡 GlowFilter 發光濾鏡 BlurFilter 模糊濾鏡 mask 遮罩 laya.display.Sprite mask 屬性如下: mask : Sprite 遮罩,可

Winform----自定義控制元件背景半透明載入控制元件

先貼執行效果圖,原始碼點選這裡下載 1.新建自定義控制元件 2.實現功能 namespace UserControlLib { [ToolboxBitmap(typeof(ZhLoading))] public partial class ZhLoad

網頁提交時新增

// 表單提交遮罩 $(document).ready(function() { $("form").submit(function() { // 新增 GRAYLAYER.create("grayLayer-div"); window.onblur = fu

React NativeModal元件實現層效果

React-Native中Modal的使用 /** * React Native App * dongtao 2017/04/22 * @flow */ import React, { Component } from 'react'; import { A

cocos2dx 3.x 給Sprite新增

引言 程式截圖:   有時候,你在做遊戲時,可能需要一種方式來顯示精靈的某一部分(就是新增遮罩啦)。   一種方式就是使用另外一張圖片,叫做mask。你把mask圖片中間設定成白色,白色區域是被mask圖片的可見區域。之後這個白色區域會透明的。   然後,你可

css樣式新增

原理:利用css樣式實現滑鼠移入加一層遮罩的效果。將遮罩層absolute定位到要新增遮罩層的上面,滑鼠移入讓他顯示。 程式碼片: html: <div class="ai_demo" > <div class="pric

frameset巢狀的子頁面js彈出新頁面時,父頁面新增層效果

frameset巢狀的子頁面: 新增遮罩層: $(‘html’, window.parent.document).append(‘<div class=”mtDiv” style=”position: fixed;top: 0%;left: 0%;w

給頁面新增和loading圖示

這裡有兩個層,一個loading層,一個overlay遮罩層。 然後需要用css來調整樣式。 js程式碼: function form_submit_overlay_loading(){ var loading = '<div id="form-submit-

easyUI的treegrid新增節點(append)時間過長,設定等待(wait)效果

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Easyui 彈出加載中的的兩種方法

datagrid IT hellip pla itl width UNC message function 第一種: //彈出加載層function load() { $("<div class=\"datagrid-mask\"></div&

【Unity Shader】(四) ------ 紋理法線紋理、單張紋理及紋理的實現

相對 ctx mali 通過 dir con 真的 dpi spa 筆者使用的是 Unity 2018.2.0f2 + VS2017,建議讀者使用與 Unity 2018 相近的版本,避免一些因為版本不一致而出現的問題。 【Unity Shader】(三) ---

easyUI彈框被層遮擋

async on() href 復制代碼 iss 無法 get 代碼 url 項目中用到easyui 布局,用到north,west,center三個區域,且在center中間區域嵌入iframe標簽。在主內容區做一些小提示彈窗(例如刪除前的彈窗提示確認)時,會遇到遮罩問題

會聲會影應該如何新增視訊

視訊遮罩是會聲會影x8中新增的功能,它讓繁瑣的操作變得簡單,讓畫面更加美觀,成為會聲會影又一個熱門功能。不過,會聲會影本身的內建的視訊遮罩有限,往往沒有找到合適的視訊遮罩,這需要大家自己新增視訊遮罩進去了。如果新增視訊遮罩呢?今天小編講給大家詳細介紹一下。 視訊遮罩新增流程圖: 圖片:視訊遮罩新增

Easyui 彈出載入中的

//彈出載入層 function load() { $("<div class=\"datagrid-mask\"></div>").css({ display: "block",

【玩轉cocos2d-x二十九】利用CCClipingNode做遊戲

新手引導是遊戲中必備的(除了奇葩的MT用一段動畫開始),也是玩家對遊戲的第一印象,重要性不言而喻。一般採用的遮罩的形式來突出引導重點,同時遮蔽其他功能。這裡簡單的介紹一下游戲遮罩的實現,並給出一個