线程问题~~~~~~~~

wxllyf 2010-11-17 02:49:48
线程问题~~~~~~~~

就是说有个容器 循环向内插入dom
但是,每次插入需要进行大量的匹配操作
所以会有点时间

$ul.style.display = 'block';

for(xx;xx;xx){

$ul.add(xxxxx);

}

加入循环完毕需要5秒
理论上 上面的代码 应该是 能看到逐个插入的
但实际,还是 等待5秒后 才全部显示出来

难道是 当整个脚本结束 才会执行 block?
或者说浏览器缓冲了结果?


有什么好办法没?
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
for(xx;xx;xx){
$ul.add(xxxxx);
}

这中间虽然耗费时间,但也既然耗费着时间,就说明CPU已在全力以赴地干活呢,哪顾得上管你的显示。
比如你弄一个不费时的死循环,不断写入内容,结果就是卡死,而不是无限地显示下去。
在数据的处理和显示上,浏览器对JS的解释处理,也遵循着同样的道理,就是“计算优先,显示排后”。
hch126163 2010-11-17
  • 打赏
  • 举报
回复
如果要看到逐个插入的效果,要用
setTimeout 或者 setInterval
var i=0;
t=setInterval(function(){
$ul.add(xxxxx);i++
if(i>100){
clearInterval(t);
}
},100);
anlaetion 2010-11-17
  • 打赏
  • 举报
回复
循环完了..再

$ul.style.display = 'block';

试试
Mr-Jee 2010-11-17
  • 打赏
  • 举报
回复
这和线程扯不上关系
你往容器里add dom元素是不会有延迟的~
既然你的$ul.style.display = 'block'在前面
那么for之前就会显示出来了。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧