-
Поместите логику
setInterval()
вonclick
обработчик, а не за ее пределы. -
Также измените его
clear()
на любое другое имя. Поскольку вы вызываете document.clear () вместо своей функции. Является ли «ясным» зарезервированное слово в Javascript? =>
Для передачи функции обратного вызова можно использовать сильную синтаксическую схему ES6setInterval()
.
<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>