2016-11-29 90 views
1

我有一個JavaScript代碼,顯示一些信息,每6秒內使用setInterval函數波紋管:的Javascript clearInterval不停止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); 
}); 

當顯示的最後一條消息我要重定向到URL,所以我檢查計數器並在顯示最後一條消息時放置了一個clearInterval,但是在最後一次按摩顯示後它不會立即到達網址,但是地理位置返回到第一個,然後重定向,聽起來像是繼續循環。我該如何解決這個問題?

感謝

+0

你需要通過這是作爲調用clearInterval方法的參數 – atomCode

+0

當我把window.href.location clearInterval(intervalTimer)後不工作創建的間隔; –

+0

@oussamakamal:它應該工作,prepend協議http或https可能是這個問題 –

回答

7

的間隔ID被setInterval返回,你需要用它來阻止特定的時間間隔。

$(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

我只是添加,讓OP知道,即使它看起來很明顯:«然後添加'window.location.href =「www .mydomain.com「;'在下一行。 ;)+1 –

相關問題