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

为什么用SetTimeOut运行时间总是9秒一次
JScript code

        function SetFun() {
            setTimeout('LoadTopWorkList2()', 5000);
        }
        function LoadTopWorkList2() {
            document.getElementById("btnSearch").click();
            setTimeout('LoadTopWorkList2()', 200000);
        }
        
    </script>
</head>
<body onload="SetFun()">



------解决方案--------------------
应该不是setTimeout()引起的,我照着你的代码写了一个,是按预期运行的。
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>
<script type="text/javascript">
function f1() {
    setTimeout('f2()', 5000);
}
function f2() {
    document.getElementById('demo').innerHTML = 0;
    setTimeout('f2()', 10000);
}
window.onload = function() {
    setInterval('var demo = document.getElementById("demo"); demo.innerHTML = parseInt(demo.innerHTML) + 1;', 1000);
    f1();
}
</script>
</head>

<body>
<span id="demo">0</span>
</body>
</html>

------解决方案--------------------
搞不懂你为什么要写得这么复杂,利用setInterval()函数可以把你要做的事情精简为一行:
JScript code
window.onload = function() {
    setInterval('document.getElementById("btnSearch").click();', 200000);
}