国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > JS > 正文

JavaScript高級(jí)函數(shù)應(yīng)用之分時(shí)函數(shù)實(shí)例分析

2024-05-06 16:45:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了JavaScript高級(jí)函數(shù)應(yīng)用之分時(shí)函數(shù)。分享給大家供大家參考,具體如下:

一、前提介紹:

某些函數(shù)是用戶主動(dòng)調(diào)用的,但因?yàn)橐恍┛陀^的原因,這些函數(shù)會(huì)嚴(yán)重影響頁(yè)面的性能。

二、應(yīng)用場(chǎng)景:

在短時(shí)間內(nèi)往頁(yè)面中大量添加DOM節(jié)點(diǎn)顯然會(huì)讓瀏覽器吃不消,往往會(huì)導(dǎo)致瀏覽器的卡頓甚至假死。

三、解決方案:

以上述添加節(jié)點(diǎn)的例子來(lái)說(shuō)明問(wèn)題,我們將創(chuàng)建節(jié)點(diǎn)的工作分批進(jìn)行,比如把1秒鐘創(chuàng)建1000個(gè)節(jié)點(diǎn),改為每隔200毫秒創(chuàng)建8個(gè)節(jié)點(diǎn)。

四、實(shí)現(xiàn)代碼如下:

var timeChunk = function(ary, fn, count){  var obj,t;  var len = ary.length;  var start = function(){    for(var i=0;i<Math.min(count ||1, ary.length );i++){      var obj = ary.shift();      fn(obj);    }  };  return function(){    t = setInterval(function(){      if(ary.length === 0){ //如果全部節(jié)點(diǎn)都已經(jīng)被創(chuàng)建好        return clearInterval(t);      }      start();    }, 200); //分批執(zhí)行的時(shí)間間隔,也可以用參數(shù)的形式傳入  };};

五、調(diào)用驗(yàn)證方法

var ary = ['aa','bb','cc',.....];var renderFriendList = timeChunk( ary, function(n){  var div = document.createElement('div');  div.innerHTML = n;  document.body.appendChild(div);},8);renderFriendList();

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 星子县| 武清区| 西乌珠穆沁旗| 惠东县| 临泽县| 象山县| 体育| 台山市| 黔西| 旬邑县| 包头市| 中西区| 集安市| 平塘县| 松滋市| 澳门| 九龙坡区| 潜山县| 扶绥县| 黎城县| 揭西县| 宁武县| 浑源县| 滕州市| 林州市| 桃园市| 肃北| 承德市| 汶上县| 黄浦区| 镇坪县| 新沂市| 新乐市| 甘谷县| 泰顺县| 灵宝市| 中宁县| 太仓市| 竹北市| 石河子市| 许昌县|