我在jquery中停止循环if语句时遇到问题。这个想法是我有一个div,它应该开始循环遍历彩虹数组中的所有颜色,并在停止div被点击时停止。它循环很好,但是当我点击停止时,即使循环变量为0,它也不会停止循环。我点击停止时可以做些什么来停止颜色?在jQuery中打破if循环
点击here作为我的jsfiddle页面的链接,我正在对它进行编码。
$(document).ready(function() {
//Defines variables.
var loop = 1;
var rainbow = ["red", "orange", "yellow", "green", "blue", "purple"];
//loops the color changing if 'loop' is 1.
$('#go').click(function strobe() {
if (loop) {
for (var i = 0; i < rainbow.length; i++) {
$('#color').animate({
"background-color": rainbow[i]
}, 500);
}
strobe();
}
});
//Sets 'loop' to 0 to prevent looping.
$('#stop').click(function() {
loop = 0;
});
});
你真的需要设置当你做动画超时,它踢了一个新的数百次每秒所以即使你停下,将尽量赶上本身,以便将继续下去很长时间。 – DoctorMick
这不是循环的if语句。一个'if'语句被执行一次然后继续。 if语句中的for语句就是循环语句。 – ajp15243