成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

dom樹,加載執(zhí)行多函數(shù)之domReady

xfee / 1894人閱讀

摘要:在日常的開發(fā)中,我們常常用來觸發(fā)執(zhí)行函數(shù),但是這往往不能滿足我們的要求,比如,的時候,我們要取得大量的加載到圖片的父級上,這個時候如果要是等到圖片都加載完畢后再賦值,那么有的用戶沒等看到圖片就點(diǎn)擊了,這樣就會出問題,所以,我們要在整個加載完

onload

在日常的開發(fā)中,我們常常用window.onload來觸發(fā)執(zhí)行函數(shù),但是這往往不能滿足我們的要求,比如,ajax的時候,我們要取得大量的url加載到圖片的父級上,這個時候如果要是等到圖片都加載完畢后再賦值,那么有的用戶沒等看到圖片就點(diǎn)擊了,這樣就會出問題,所以,我們要在整個dom加載完畢后,就立即執(zhí)行一些函數(shù),所以就有了domReady。

domReady

domReady這種叫法,好像是在jq中才這么叫的,真正的內(nèi)容就是在火狐中有一個‘DOMContentLoaded’,而最近的也有很多現(xiàn)代瀏覽器接受了這種做法,但是在ie中就沒有辦法,但是在ie中,每個dom元素都有一個滾動條屬性,所以,這樣可以用做判斷,下面就是一個例子

  

例子

/**
 * [domReady 監(jiān)聽Dom樹創(chuàng)建完畢執(zhí)行參數(shù)]
 * @param  {[List]} fnList [dom執(zhí)行完畢所執(zhí)行的函數(shù)數(shù)組]
 * @return {[void]}        []
 */
    function domReady(fnList){
        if(!fnList)return undefined;
        if(document.addEventListener){
            document.addEventListener("DOMContentLoaded",function(){
                doFnList(fnList);//先進(jìn)的瀏覽器
            },false)
          }else{
                try{
                    document.documentElement.doScroll("left");//在ie中每個元素都有一個doSroll屬性,看documentElement的滾動條屬性是否完畢,如果完畢就證明整個dom樹創(chuàng)建完畢,如果沒有創(chuàng)建完畢就訪問這個屬性會報(bào)錯,所以try catch了
                }catch(e){
                    setTimeout(arguments.callee,50)
                }
                doFnList(fnList);
           }
            var b = false; //只執(zhí)行一次 
            /**
             * [doFnList 執(zhí)行函數(shù)列表的方法]
             * @param  {[type]} fnList [dom執(zhí)行完畢所執(zhí)行的函數(shù)數(shù)組]
             * @return {[void]}        []
             */
            function doFnList(fnList){
              if(b)return;
              b = true;
              for(var i=0,fn;fn = fnList[i++];){
               //console.log(i)
                fn();
              }
                fnList = null;
                doFnList = null;
            }
    }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/85432.html

相關(guān)文章

  • JavaScript常用腳本集錦1

    摘要:初始化參數(shù)可選參數(shù),必填參數(shù)可選,只有在請求時需要參數(shù)可選回調(diào)函數(shù)可選參數(shù)可選,默認(rèn)為參數(shù)可選,默認(rèn)為創(chuàng)建引擎對象打開發(fā)送普通文本接收文檔將字符串轉(zhuǎn)換為對象最后,說明一下此函數(shù)的用法。即等待與成功回調(diào),后標(biāo)志位置為。 jquery限制文本框只能輸入數(shù)字 jquery限制文本框只能輸入數(shù)字,兼容IE、chrome、FF(表現(xiàn)效果不一樣),示例代碼如下: $(input).keyup(...

    ygyooo 評論0 收藏0
  • 使用性能API快速分析web前端性能

    摘要:性能時間線以一個統(tǒng)一的接口獲取由和所收集的性能數(shù)據(jù)。瀏覽器支持下表列舉了當(dāng)前主流瀏覽器對性能的支持,其中標(biāo)注星號的內(nèi)容并非來自于性能工作小組。 頁面的性能問題一直是產(chǎn)品開發(fā)過程中的重要一環(huán),很多公司也一直在使用各種方式監(jiān)控產(chǎn)品的頁面性能。從控制臺工具、Fiddler抓包工具,到使用DOMContentLoaded和document.onreadystatechange這種侵入式j(luò)ava...

    mj 評論0 收藏0
  • 頁面加載事件--DOMContentLoaded

    摘要:這個時候就出場了,它定義為當(dāng)頁面文檔加載并解析完畢之后會馬上出發(fā)事件,而不會等待樣式文件圖片文件和子框架頁面的加載。 DOMContentLoaded 和 window.onload 的區(qū)別 當(dāng)頁面完全加載完畢后會觸發(fā) window.onload 事件,我們知道可以利用 window.onload 事件來觸發(fā)并執(zhí)行需要頁面完全加載完畢后才能執(zhí)行的 javascript 腳本,但是假如頁...

    Tikitoo 評論0 收藏0
  • 頁面加載事件--DOMContentLoaded

    摘要:這個時候就出場了,它定義為當(dāng)頁面文檔加載并解析完畢之后會馬上出發(fā)事件,而不會等待樣式文件圖片文件和子框架頁面的加載。 DOMContentLoaded 和 window.onload 的區(qū)別 當(dāng)頁面完全加載完畢后會觸發(fā) window.onload 事件,我們知道可以利用 window.onload 事件來觸發(fā)并執(zhí)行需要頁面完全加載完畢后才能執(zhí)行的 javascript 腳本,但是假如頁...

    jkyin 評論0 收藏0
  • Require.js實(shí)現(xiàn)js模塊化管理教程

    摘要:再者,引入一大堆的文件也不美觀,而使用即可實(shí)現(xiàn)的模塊化異步加載。通過定義模塊的方式可分為以下兩類。當(dāng)和這兩個模塊加載完成之后將會執(zhí)行回調(diào)函數(shù)。插件可以使回調(diào)函數(shù)在結(jié)構(gòu)加載完成之后再執(zhí)行。最好的方式是使用字符串但這很難管理尤其實(shí)在多行的時候。 什么是Require.js Require.js是一個AMD規(guī)范的輕量級js模塊化管理框架,最新版本require.js 2.1.11壓縮后只有1...

    fox_soyoung 評論0 收藏0

發(fā)表評論

0條評論

xfee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<