要想webQQ好友列表中添加上千个好友节点,一次性创建的话,浏览器肯定会卡死,那么采用分时函数,可以规定一段时间内只创建规定数量的节点,这样的话,就不会导致浏览器卡死了,改善了性能。
window.onload = function () {
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 ){ //
return clearInterval( t );
}
start();
}, 200 ); //
};
};
var ary = [];
for ( var i = 1; i <= 1000; i++ ){
ary.push( i );
}
//每200ms创建8个节点
var renderFriendList = timeChunk( ary, function( n ){ var div = document.createElement( 'div' );
div.innerHTML = n;
document.body.appendChild( div );
}, 8 ); renderFriendList();
};