日期:2014-05-16  浏览次数:20393 次

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

------解决方案--------------------
这应该是浏览器自身处理的问题。。
------解决方案--------------------
肯定是这个函数本身的运行时间就超过了30ms,在不同浏览器下跑一下下面的小代码试试,我测试的结果:
IE9 333、Chrome 333、Safari 332

HTML code
<!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>