您好,我正在尝试让一排 div 闪烁,但一次应该有一个 div 闪烁。(不是所有的 div 都应该同时闪烁 [我可以做到]) ..
有点像交通灯的工作方式。每盏灯都是一排灯的一部分,并且每盏灯一次打开和关闭一个循环。在我的例子中,闪烁是为了提醒用户 div 或可点击。
我将每个框都放在一个数组中,但我不知道如何在循环中更改每个框的颜色。我想解决这个问题的一种方法是添加和删除包含颜色的类,它应该在 1 或 2 秒后执行此操作,因此 setInterval 应该开始播放。我想不通。
但这是我悲伤的代码
var arr =[];
$(".boxes").each(function(){
arr.push($(this));
});
function bgChange(){
for(i = 0; i < arr.length; i++){
arr[i].addClass("red");
}
}
setInterval(bgChange, 2000);
});
我期待看到你们能想出创造性的方法来完成这项工作。
JSFIDDLE 先谢谢你
最佳答案
尝试:
var arr = $(".boxes");
var current = 0;
function bgChange(){
if (arr.length > 0){
//Remove class of all items
arr.removeClass("red");
//Set Class of current item
arr.eq(current).addClass("red");
//Increase the current index
current = (current + 1) % arr.length;
}
}
setInterval(bgChange, 2000);
关于javascript - 使用 setInterval 更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18810658/