问答详情
源自:8-4 取消计时器clearInterval()

如果点击开始按钮进行setinterval 点击取消按钮clearinterval clearinterval()中返回的值怎么获得

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function start() {
            var today = new Date();
            document.getElementById("txt").innerHTML=today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();
            i=setInterval("start()",1000)
        }

        function stop() {
            clearInterval(i);
        }
    </script>
</head>
<body>
<button onclick="start()">单击这里</button>
<button onclick="stop()">单击这里</button>
<div id="txt" ></div>
</body>
</html>


提问者:慕我慕她 2019-07-24 23:22

个回答

  • 吴量
    2019-07-25 08:55:31
    已采纳

    第一个问题:你的i变量是start内部的,stop函数访问不到start的作用域

    点击第一个按钮时候触发start函数,该函数内部会触发定时器。定时器会重新触发函数,你的定时器会有多个,有定时器存在的时候一定不要重复启动定时器。要全局维持一个定时器。

    下边正确代码,忘采纳

    https://img1.mukewang.com/5d38fdf600019c6611270252.jpg