<html>
<body>

<input type="checkbox" checked='true' id="abc">
<script>

var bExist = true;
 var iTime = null;if(iTime!=null)clearTimeout(iTime);
iTime=setTimeout("alert('!');bExist=false",6000); </script>
<input type=button onclick='if(!bExist) alert("定时器不存在"); else alert("定时器存在");' value="检查">
</body>
</html>

解决方案 »

  1.   

    window 对象中还有一个经常被用到的方法:setTimeout() 方法。此方法可以让 JavaScript 每隔一段间隔时间执行一段代码,代码的执行遵循事件句柄中的规则,也就是说,在这个函数中,每隔一段时间就会执行几条 JavaScript 代码 (每条代码使用“;”隔开) 或者执行调用的函数:setTimeout("count++; alert('Hello world!');", 500);上边的代码将会每隔半秒钟 (500毫秒) 执行一次 “count++; alert('Hello world')” 代码,此代码包含了两条 JavaScript 语句。也即是说,setTimeout() 方法有两个参数,第一个参数是想要执行的代码或函数 (在此例中是代码:count++; alert('Hello world')),第二个函数是间隔时间,单位是毫秒 (在此例中是500毫秒)。setTimeout() 方法的返回值是一个唯一的数值,这个数值有什么用呢?如果你想要终止 setTimeout() 方法的执行,那就必须使用 clearTimeout() 方法来终止,而使用这个方法的时候,系统必须知道你到底要终止的是哪一个 setTimeout() 方法 (因为你可能同时调用了好几个 setTimeout() 方法),这样 clearTimeout() 方法就需要一个参数,这个参数就是 setTimeout() 方法的返回值 (数值),用这个数值来唯一确定结束哪一个 setTimeout() 方法:var id = setTimeout("myFunction(arg1, arg2);", 3000);...其它的 JavaScript 语句...if (error)
      clearTimeout(id); // 出现错误时终止 setTimeout() 方法的执行
    需要注意的是,setTimeout() 方法并不会让浏览器暂停执行跟在此方法后的程序代码,浏览器会一直顺着每行代码往下执行,只不过是其它代码只执行一次,而 setTimeout() 方法则是隔一段时间执行一次。在 Netscape 4.0 中,你还可以通过使用 setInterval() 方法重复执行一段代码或函数,相对应的使用 clearInterval() 方法终止前一个方法的执行,这两个方法与 setTimeout() 和 clearTimeout() 方法是一样的,这里就不再多说了。
      

  2.   

    你用的方式不对,请运行以下代码:
    <input type = text id = aaa >
    <input type = button value = stop id = bb onclick = bb()>
    <script>
    var iTime
    function aa()
    {
      aaa.value += "!";
     iTime=setTimeout("aa()",600);}
    function bb()
    {
     if (iTime !="")
     clearTimeout(iTime);
    }
    aa();
    </script>