<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body><div id="divQQ1"></div>
<div id="divQQ2"></div>
<script language="javascript">
var intI=100000;
function displayQQ()
{
if(intI>100000000)
return;

divQQ1.innerHTML = intI;
intI++;
divQQ2.innerHTML = intI;
intI++;
}
setInterval("displayQQ()",2000);//把这一句话移到function外面来//displayQQ();
</script>
</body>
</html>

解决方案 »

  1.   

    JK纠正了setInterval的用法。。
    我只能解释一下为何出现“而且下一组合是上一组合的尾数乘以2”的现象了...-_-||displayQQ内的setInterval被循环启动,造成每隔2秒该函数即被Math.pow(2,n)次执行且每次执行,intI均被两次加1,这样可以排出一个数学公式每隔两秒后,divQQ1内的数为10000 + ∑Math.pow(2,n)n表示第n个两秒后再化简一步,即为:10000 + Math.pow(2, n + 1) - 2于是2秒后是10002,4秒后是10006,6秒后是10014....突然发现自己对于高等数学已相当生疏了扼腕叹息,学不如用AOB,
    这种随时间指数级触发函数的方式最终将导致系统资源被脚本耗尽,ie无疾而终
    不要在函数里使用setInterval,若一定要在函数里递归调用,要使用
    window.setTimeout("displayQQ()",2000);
    而不是
    window.setInterval("displayQQ()",2000);