在一些开发场景中,咱们可能会一次性向文档中注入上千个节点,在短期内向浏览器中大量添加DOM节点可能会让浏览器吃不消,结果每每会让浏览器卡顿或吃不消,解决方案之一即是使用分时函数(timeChunk)。
timeChunk函数让建立节点的工做分批进行,好比一秒钟建立1000个节点,改成每一个200ms建立10个节点。具体timeChunk函数封装以下html
function timeChunk( arr, fn, count){//arr 数组 fn操做函数 count每次操做数量 var obj, t; var start = function(){ var len = Math.min(count||1,arr.length); for(var i=0; i < len; i++){ obj = arr.shift(); fn(obj) } }; return function(interval){ t = setInterval(function(){ if(arr.length==0){ return clearInterval(t) }; start(); },interval||200) } }