-4

Je suis un débutant dans ce département, donc je me demandais, puis-je faire un type de déclaration if avec un délai? Exemple: si une certaine action (peut-être un événement click) est effectuée au cours d'une période de temps, l'heure est réinitialisée, et si ce n'est pas le cas, une fonction est appelée.JavaScript time delay

+0

Absolument! Vous recherchez [** 'setTimeout()' **] (https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout), ou de préférence, un rappel [** **] (http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/) à partir de l'exécution d'une fonction. –

+0

Voir ** ['setTimeout()'] (https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout) **. –

Répondre

0

Vous ne pouvez pas faire cela avec une instruction if, mais vous pouvez le faire avec setTimeout et clearTimeout.

Voici un exemple d'exécution d'une fonction (une instruction console.log) exécutée toutes les 2 secondes tant que vous ne cliquez pas sur le bouton. Un clic sur le bouton réinitialise le temporisateur de sorte que 2 secondes supplémentaires doivent s'écouler avant qu'il ne se reconnecte. Vous pouvez l'adapter pour s'adapter au travail réel que vous devez accomplir.

var currentTimeoutId; 
 
function resetTimeout() { 
 
    clearTimeout(currentTimeoutId); 
 
    currentTimeoutId = setTimeout(function() { 
 
    console.log('Too Late!'); 
 
    resetTimeout(); 
 
    }, 2000); 
 
} 
 

 
resetTimeout(); 
 
document.getElementById('demo').onclick = function() { 
 
    resetTimeout(); 
 
};
<button id="demo">Click Me Or Else I'll Log Something!</button>

+0

Merci! J'expérimais setTimeout(), mais je n'arrivais pas à comprendre comment l'utiliser correctement. THX! –