如何在innerhtml中停止setinterval?

时间:2017-08-28 09:56:21

标签: javascript

我有一个div,我每秒都会用setinterval添加时间。我想停止这个setinterval并在我的div中设置另一个文本,但问题是我的新文本显示了一秒钟,时间又回到我的div中。请谁能帮帮我?

1 个答案:

答案 0 :(得分:1)

您可以使用return关键字或将interval-id存储在变量中,然后使用clearInterval函数将其停止。

HTML:

<div id="time"></div>

js(return):

let time = 0;
setInterval(() => {
    // this line stops the interval
    if(time > 10) return document.getElementById('time').innerHTML = 'finished!';
    document.getElementById('time').innerHTML = 'seconds: ' + time;
    time++;
}, 1000)

JS Bin

js(clearInterval

let time = 0;
let int = setInterval(() => {
// this line stops the interval
if(time === 10) clearInterval(int);
    document.getElementById('time').innerHTML = 'seconds: ' + time;
    time++
}, 1000)

JS Bin