中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

layui如何實現多iframe頁面控制定時器運行

發布時間:2021-08-18 10:15:44 來源:億速云 閱讀:209 作者:小新 欄目:web開發

這篇文章主要為大家展示了“layui如何實現多iframe頁面控制定時器運行”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“layui如何實現多iframe頁面控制定時器運行”這篇文章吧。

我們web頁面中有幾個頁面是有定時器在刷新的,并且查詢的內容還不少,給服務器造成了不少壓力。這些接口已經盡量優化,能放到緩存的都放到緩存。然后主管又提了一個需求,就是我們使用的是layui多標簽iframe框架,當不在某個頁面的iframe時不要執行定時器。我覺得這是一個挺不錯的提議,而且實現起來也不難。

粗略地考慮有兩個思路,一個是點擊標簽時開啟或關閉定時器,一個是定時器執行時判斷所在的iframe是否隱藏,如果隱藏則不執行定時器的方法。第一種維護麻煩,難免有錯漏的情況,而且和別的iframe有聯系,不好。第二種邏輯判斷簡單,只和定時器所在iframe有關,雖然定時器一直在跑,不過只要里面的邏輯不執行就行,重要的是減少給服務器的壓力。

那么怎么判斷定時器所在頁面是否隱藏呢?

layui如何實現多iframe頁面控制定時器運行

獲取iframe所在元素的父元素,判斷是否有layui-show類就好了。

function myInterval(func, time){
 console.log("啟動定時器",func,time);
  //點擊iframe對應的標簽則直接執行定時器方法。不過注意,這里我默認只執行最后一個定時器方法,如果有多個定時器請自行更改。
 top.$("li[lay-id='"+$(self.frameElement).attr("src")+"']").unbind('click').click(function(){
 console.log(func,"方法調用");
 func.call();
 });
 return setInterval(function(){
 console.log("myInterval定時器調用");
 if($(self.frameElement.parentElement).hasClass("layui-show")){
      //判斷所在的頁面是否顯示
  console.log(func,"方法調用");
  console.log("定時器間隔"+time);
  func.call();
 }
 }, time);
}

以上是“layui如何實現多iframe頁面控制定時器運行”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河池市| 阿荣旗| 伊吾县| 陵水| 罗平县| 芮城县| 顺平县| 泰州市| 濮阳县| 岳普湖县| 德阳市| 永泰县| 平乡县| 红安县| 吴忠市| 平顶山市| 台安县| 齐齐哈尔市| 城口县| 武川县| 泰兴市| 岑溪市| 桑植县| 兴业县| 得荣县| 达州市| 浠水县| 肥东县| 清河县| 同德县| 浏阳市| 南安市| 若羌县| 阳山县| 开化县| 杭锦旗| 象州县| 甘南县| 双柏县| 霍林郭勒市| 离岛区|