javascript - 使用 setInterval 更改背景颜色

标签 javascript jquery css html

您好,我正在尝试让一排 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);

DEMO

关于javascript - 使用 setInterval 更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18810658/

相关文章:

javascript - 使用 Javascript 和 lodash 进行多条件排序对象键

javascript - CSS 和 JS 缩小不适用于 gulp-filter、gulp-csso、gulp-uglify

javascript - 如何在单个滚动中滚动到 div 的末尾

javascript - 当 div 离开屏幕时执行操作(Jquery)

jquery - jtable "Add new record"css 不显示

javascript - jQuery 验证插件多个复选框

javascript - 如何动态创建下拉菜单?

javascript - 递归jquery函数并随后检查

javascript 在表格中显示数组结果

html - 如何调整 Font Awesome 图标的垂直位置?