我有一个setInterval函数通过一些div类,如果它找到一个具有特定类的div,它应该停止3秒然后继续运行。请注意我的使用方式:
clearInterval(myInterval);
但我需要别的东西,再次启动序列或让它继续从那里运行。
e.g:
var myInterval = setInterval(function() {
move.removeClass( "girlFromRight" );
runFromRight -= 9;
move = $("#grid"+ runFromRight);
move.addClass("girlFromRight");
if (move.hasClass("man") === true ||
move.hasClass("man-right") === true ||
move.hasClass("man-left") === true )
{
clearInterval(myInterval);
move.addClass('inLove');
move.removeClass('girlFromRight');
setTimeout(function() {
move.removeClass('inLove');
move.addClass('man');
}, 3000);
}
if (c == 9){
clearInterval(myInterval);
}
}, 300);
keyPressed = false;
}, randomTime);
}
答案 0 :(得分:3)
考虑使用 setTimeout 并在每次运行后根据测试设置间隔(300或3000)。这样您就不必启动和停止 setInterval 。
下面是一个快速示例,它按顺序突出显示每个div,在文本内容可被3整除的任何位置暂停更长时间(作为示例测试)。
.notSelected{}
.selected{
background-color: blue;
}
<div class="notSelected">0</div>
<div class="notSelected">1</div>
<div class="notSelected">2</div>
<div class="notSelected">3</div>
<div class="notSelected">4</div>
<div class="notSelected">5</div>
{{1}}