测试代码时,setinterval
不会被点击,而我点击<div onclick="clear()">CLEAR</div>
时也不会clearinterval
。
单击<div onclick="test_fn()">TEST</div>
时如何设置setinterval
点击<div onclick="clear()">CLEAR</div>
<div onclick="test_fn()">TEST</div>
<script>
var xxx = null;
xxx = window.setInterval(function test_fn(){
test_xxx();
}, 5000);
function test_xxx(){
alert("123456789");
}
</script>
<br>
<div onclick="clear()">CLEAR</div>
<script>function clear(){
window.clearInterval(xxx);
}
</script>
答案 0 :(得分:0)
将setInterval()
的逻辑放在onclick
处理程序中
比外面的要多。
还要将clear()
更改为任何其他名称。当您调用document.clear()而不是您的函数时。
Is "clear" a reserved word in Javascript?
=>
传递回调
函数setInterval()
。
<div onclick="test_fn()">TEST</div>
<br>
<div onclick="clear_fn()">CLEAR</div>
<script>
var xxx = null;
function test_fn(){
alert('clicked');
xxx = window.setInterval(() => {
test_xxx();
}, 5000);
}
function clear_fn(){
alert('cleared')
window.clearInterval(xxx);
}
function test_xxx(){
alert("123456789");
}
</script>