2011-04-30 6 views
0

Je crée des tabulations en javascript sur mon site web ASP.Net. Say Tab 1 Tab 2 --- Tab 10. Lorsque je clique sur l'onglet 1, il affiche des données et j'appelle la fonction setTimeout qui permet d'actualiser les données de l'onglet 1. Mon problème est que lorsque je passe à d'autres onglets, la fonction settimeout continue de fonctionner en arrière-plan, ce que je ne veux pas. Comment puis-je arrêter cela sur le passage à d'autres onglets.Clear Set TimeOut Javascript

Merci

Cordialement Vivek

Répondre

3

Vous pouvez utiliser la fonction clearTimeout. Exemple:

var timeoutHandle = window.setTimeout(function() { 
    // ... 
}, 5000); 

et plus tard, vous pouvez:

window.clearTimeout(timeoutHandle); 

Il y a aussi les méthodes setInterval/clearInterval qui pourraient être utilisés. Contrairement à setTimeout, la fonction setInterval exécute le rappel plusieurs fois jusqu'à son effacement. Un comportement similaire peut être obtenu avec setTimeout en appelant récursivement le rappel.

+0

Merci Darin. J'ai essayé ceci mais dans mon cas quand je reviens sur l'Onglet 1 alors la fonction SetTimeout jette une erreur "Paramètres Invalides". Est-ce que, une fois le délai écoulé, nous ne pouvons plus appeler settimeout? – Vivek

+0

@Vivek, normalement, il ne devrait pas y avoir de problèmes de réaffectation de setTimeout. Malheureusement, comme vous n'avez pas montré de code, je suis incapable de vous fournir plus d'aide. –