Почему я не могу контролировать setinterval и clearinterval javascript?

Когда тестовый код будет setinterval, он не будет кликать, и когда я нажму, <div onclick="clear()">CLEAR</div>это не так clearinterval.

Как я могу сделать для setinterval, когда клик <div onclick="test_fn()">TEST</div> и clearinterval при нажатии<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>

javascript,html,css,

0

Ответов: 1


0 принят
  • Поместите логику setInterval()в onclickобработчик, а не за ее пределы.

  • Также измените его clear()на любое другое имя. Поскольку вы вызываете document.clear () вместо своей функции. Является ли «ясным» зарезервированное слово в Javascript?

  • =>Для передачи функции обратного вызова можно использовать сильную синтаксическую схему ES6 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>

JavaScript, HTML, CSS,
Похожие вопросы