当某个事件被触发的时候,调用setTimeout("alert('abc')",500)方法(只调用一次), 现在需要实现在调用alert("abc");之前,如果用户执行了指定操作,就取消alert();怎么实现?我原来想的是
t=setTimeout("alert('abc')",500);
停止的时候用
clearTimeout(t),
但是貌似在执行alert()之前得不到t,所以也就无法取消了。

解决方案 »

  1.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="listmenu.css" />
    <script src="jquery-1.4.2.min.js"></script>
    <script src="jquery.listmenu.js"></script>
    <script>
    var c=0;
    var t;
    function start()
    {
     t=setTimeout(function test(){
              alert('helloworld')
                  },2000);
    }
    function end()
    {
    clearTimeout(t);
    }
    </script>
    <title>全选 反选  全不选 js效果演示</title>
    </head>
    <body>
    <form>
    <input type="button" value="开始" onClick="start()">
    <input type="button" value="停止" onClick="end()">
    </form>
    </body>
    </html>