2016-11-29 11 views
1

Ich habe einen Javascript-Code, der einige Nachrichten zeigt alle 6 Sekunden setInterval-Funktion als Gebrüll:Javascript clearInterval nicht stoppen setInterval

$(function() { 
    count = 0; 
    wordsArray = ["<h1>Offer received</h1>", "<h1>Offer reviewed</h1>", "<h1>Decision pending</h1>", "Offer accepted.</h1>"]; 

    setInterval(function() { 
     $(".lead").fadeOut(400, function() { 
      $(this).html(wordsArray[count % wordsArray.length]).fadeIn(400); 
     }); 
     if(count === 3){ 
      clearInterval(window.location.href = "www.mydomain.com"); 
     } 
     count++; 
    }, 6000); 
}); 

Wenn die letzte Meldung angezeigt wird ich an eine URL umleiten möchten, so hab ich gecheckt der Zähler und legte eine ClearInterval, wenn die letzte Nachricht angezeigt wird, aber es nicht auf die URL direkt nach der letzten Massage angezeigt wird, sondern geos zurück zum ersten und dann umleiten, klingt wie es weiterhin Schleife. Wie kann ich das bitte reparieren?

Dank

+0

Sie müssen das Intervall zu übergeben, wie die clearInterval Methode der Parameter erstellt wurde – atomCode

+0

Es funktioniert nicht, wenn ich window.href.location nach clearInterval (intervalTimer) setzen; –

+0

@oussamakamal: Es sollte funktionieren, Protokoll http oder https vor, dass das Problem ist –

Antwort

7

Ein Intervall-ID von setInterval zurückgegeben wird, müssen Sie das verwenden, insbesondere Intervall zu stoppen.

$(function() { 
 
    count = 0; 
 
    wordsArray = ["<h1>Offer received</h1>", "<h1>Offer reviewed</h1>", "<h1>Decision pending</h1>", "<h1>Offer accepted.</h1>"]; 
 

 
    var intervalTimer = setInterval(function() { 
 
    $(".lead").fadeOut(400, function() { 
 
     $(this).html(wordsArray[count % wordsArray.length]).fadeIn(400); 
 
    }); 
 
    if (count === 3) { 
 
     clearInterval(intervalTimer); 
 
    } 
 
    count++; 
 
    }, 6000); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="lead"></div>

+0

Ich würde nur hinzufügen, für das OP zu wissen, auch wenn es offensichtlich aussehen mag: «Dann fügen Sie' window.location.href = "www .mydomain.com ";" in der nächsten Zeile. ;) +1 –

Verwandte Themen