2013-03-18 4 views
-1

Dans mon JQuery, j'ai un certain code qui va à la base de données après chaque intervalle de temps mentionné dans mon Web.config ... J'ai un bouton aussi, en cliquant sur le bouton devrait arrêter le SetInterval courant à 10 secondes ... J'utilise le code mentionné ci-dessous ..Affrontant problème en essayant de mettre en pause le setInterval

window.setTimeout(MyFunction, 10000); 

MyFunction est le rappel

function MyFunction() { 
    window.setTimeout(MyFunction, 10000); 
} 

Actions contrôleur

public JsonResult GetUpdates() 
{ 
} 

Confusion est-il encore à la base de données.

+3

Alors, comment arrêtez-vous ce processus? – mattytommo

+0

@mattytommo Je veux mettre en pause pendant un certain temps – SMC

+1

Vous ne pouvez pas le mettre en pause, vous devrez ajouter et supprimer le délai d'expiration. – mattytommo

Répondre

0
var Interval = window.setTimeout(MyFunction, 10000); 

ClearInterval(Interval); 

    setTimeout(function() { 
     //Code 
    }, 10000); 
1

Si vous voulez mettre en pause l'exécution de la fonction que vous pourriez avoir une condition à l'intérieur MyFunction qui vérifie si un bouton est cliqué et enregistrer une autre setTimeout rappel:

function MyFunction() { 
    if (window.pauseExecution) { 
     return; 
    } 

    // do the processing here ... 

    // schedule another call in 10 seconds 
    window.setTimeout(MyFunction, 10000); 
} 

et lorsque vous cliquez sur le bouton suffit de définir la variable globale window.pauseExecution à true. Et si vous souhaitez reprendre, définissez-le sur false.

Questions connexes