线程问题~~~~~~~~就是说有个容器  循环向内插入dom
但是,每次插入需要进行大量的匹配操作
所以会有点时间$ul.style.display = 'block';for(xx;xx;xx){  $ul.add(xxxxx);}加入循环完毕需要5秒
理论上  上面的代码  应该是  能看到逐个插入的
但实际,还是 等待5秒后 才全部显示出来难道是  当整个脚本结束  才会执行 block?
或者说浏览器缓冲了结果?
有什么好办法没?

解决方案 »

  1.   

    这和线程扯不上关系
    你往容器里add dom元素是不会有延迟的~
    既然你的$ul.style.display = 'block'在前面
    那么for之前就会显示出来了。
      

  2.   

    循环完了..再$ul.style.display = 'block';试试
      

  3.   

    如果要看到逐个插入的效果,要用
    setTimeout 或者 setInterval
    var i=0;
    t=setInterval(function(){
    $ul.add(xxxxx);i++
    if(i>100){
    clearInterval(t);
    }
    },100);
      

  4.   

    for(xx;xx;xx){
      $ul.add(xxxxx);
    }这中间虽然耗费时间,但也既然耗费着时间,就说明CPU已在全力以赴地干活呢,哪顾得上管你的显示。
    比如你弄一个不费时的死循环,不断写入内容,结果就是卡死,而不是无限地显示下去。
    在数据的处理和显示上,浏览器对JS的解释处理,也遵循着同样的道理,就是“计算优先,显示排后”。