账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    setInterval多次点击后无法停止
    32
    0

    单次点击开始时钟,程序正常运行,点击停止时钟,时钟立刻停止;多次点击开始时钟后,程序运行,点击停止时钟,程序有响应,但是时钟未停止。请问这是什么情况?

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    <p>页面上显示时钟:</p>
    <p id="demo"></p>
    <button id='myStopFunction'>停止时钟</button>
    <button onclick="mvToLft()">开始时钟</button>
    <script>
    function mvToLft(){
        var myVar=setInterval(function(){myTimer()},1000);
        document.getElementById('myStopFunction').onclick = function(){
            clearInterval(myVar);
            console.log(1);
        };
    }
    function myTimer(){
        console.log(0);
        var d=new Date();
        var t=d.toLocaleTimeString();
        document.getElementById("demo").innerHTML=t;
    }
    </script>
    </body>
    </html>
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 键盘上的眼泪 普通会员 1楼

      如果你在JavaScript中使用setInterval函数,但点击多次后无法停止,可能是因为你设置了无限循环。无限循环会导致setInterval函数在没有提供一个回调函数的情况下继续运行。

      以下是一个简单的例子,展示了无限循环的使用:

      javascript setInterval(function() { console.log("Hello"); }, 5000);

      在这个例子中,setInterval函数会在每秒执行一次,但是当5秒后,它会一直运行下去,因为无限循环的存在。

      要停止无限循环,你需要在回调函数中取消setInterval。以下是一个简单的例子:

      ```javascript setInterval(function() { console.log("Hello"); }, 5000);

      setInterval(function() { console.log("Hello"); }, 5000); ```

      在这个例子中,当我们点击按钮时,setInterval函数将被取消,所以不会再执行后面的代码。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部