So habe ich eine Web-App mit Basis-Authentifizierung.Überprüfen Sie, ob ein Intervall läuft und umgekehrt
Wenn im angemeldet, ein Intervall festgelegt ist:
$("#login").click(function(e) {
var interval = setInterval(function(){myFunction();}, 2000); });
Dann, wenn im i das Intervall stoppen müssen abgemeldet:
$("#logout").click(function(e) {
if(typeof interval !== 'undefined') clearInterval(interval); });
Aber es funktioniert nicht, ich glaube, die Art und Weise zu Überprüfen Sie, ob ein Intervall existiert falsch ist ... Ich kann das Intervall so einstellen, dass es läuft, wenn ich angemeldet bin, aber ich muss es stoppen/löschen, wenn ich auf meine Abmelden-Schaltfläche klicke und es nicht tut ...
PS . Ich verwende das Intervall, um "myFunction" automatisch alle 2 Sekunden zu überprüfen, aber vielleicht gibt es einen anderen Weg, dies ohne ein Intervall zu erreichen? thx
Ihre Intervallvariable ist nicht global und daher in der Abmeldefunktion nicht verfügbar. Wenn Sie es global oder außerhalb der Funktionen machen können und dann versuchen. Dann sollte es funktionieren. –
Nimm es einfach raus, da es nicht global ist. console.log() etwas, damit Sie wissen, dass es passiert. – codeninja
@xnanitox, Demo hier https://jsfiddle.net/5he9oarw/3/ –