setInterval(function,毫秒数) 现在有个问题,我在火狐,搜狗高速浏览器里 比如我毫秒数设置为30,那么读取速度相当快的,但是我在ie浏览里ie,6,7,8都试过,30毫秒和100毫秒的速度竟然是一样的,这是为什么?ie兼容问题?100毫秒以下的都当做100毫秒处理了?

解决方案 »

  1.   

    肯定是这个函数本身的运行时间就超过了30ms,在不同浏览器下跑一下下面的小代码试试,我测试的结果:
    IE9 333、Chrome 333、Safari 332<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <div id="demo">0</div>
    <script type="text/javascript">
    var d0 = new Date();
    var t = setInterval('var obj = document.getElementById("demo"); obj.innerHTML = parseInt(obj.innerHTML) + 1;', 30);
    setInterval('var d1 = new Date(); if ((d1 - d0) / 1000 >= 10) clearInterval(t);', 1);
    </script>
    </body>
    </html>
      

  2.   


    再次说明IE6、7、8效率远低于FF
      

  3.   

    我这里 xp只能装ie8了,回家测试下ie9的性能 如果 ie9也是100毫秒 那应该不是效率问题了吧,到时候还请高手指导