您的位置:首页 > 其它

关于一个常被大家遗忘的方法解决频繁操作 dom节点引起页面回流

2010-06-29 10:24 369 查看
用document.createDocumentFragment()来新建一个代码片段

如下代码:

代码 var _tn;
var _d=document;
for(var i=0;i<100;i++){
_tn=_d.createTextNode(i);
document.body.appendChild(_tn);
}

上面写法会引起100次的页面回流(也就是dom树的100次刷新)

而下面的写法只刷新一次

代码

var _tn;
var _d=document;
var _dFragment=_d.createDocumentFragment();
for(var i=0;i<100;i++){
_tn=_d.createTextNode(i);
_dFragment.appendChild(_tn);
}
document.body.appendChild(_dFragment);

其实这就像我们常常采用并字符串的形式

var con='';

for(var i=0;i<10;i++){

con+='<li>123<li>';

}

obj.innerHTML=con;有时这种方法效率会更高
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐