2017-10-21 63 views
1

Je ne peux pas comprendre pourquoi clearInterval ne fonctionne pas ci-dessous, Quelqu'un pourrait-il me dire ce qui est le problème avec mon codage?Comment faire un travail ClearInterval clair?

Merci beaucoup!

function timehandle(){ 
alert("Take a break") 
} 

setInterval(timehandle, 5000); 
var getout=setInterval(timehandle, 5000); 
var button=document.getElementById("button"); 
button.onclick=clearInterval(getout); 
+0

pourquoi deux setInterval s? aussi 'button.onclick = function() {clearInterval (getout);};' –

+0

Parce que vous créez 2 intervalles. Vous annulez le 2ème mais pas le 1er. – Dmitry

Répondre

3

Vous avez besoin d'un seul intervalle et une fonction qui appelle clearInterval, parce que sans, il efface l'intervalle directement par assinging la valeur de retour de clearInterval.

Par ailleurs, il est utile d'utiliser un id différent du tag, car certains agents utilisateurs utilisent l'ID comme nom de variable et cela peut entraîner des conflits en utilisant ses propres variables nommées.

function timehandle() { 
 
    console.log("Take a break"); 
 
} 
 

 
var getout = setInterval(timehandle, 5000); 
 
var button = document.getElementById("btn"); 
 
button.onclick = function() { clearInterval(getout); };
<button id="btn">clear</button>