我有一个javascript代码,使用setInterval函数每隔6秒显示一些消息:
$(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 :(得分:7)
setInterval
返回间隔ID,您需要使用它来停止特定间隔。
$(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>