【发布时间】:2016-10-17 22:27:47
【问题描述】:
我有一个 3 x 3 的网格。 红色类需要添加到我的网格单元格中。它必须从cell1继续到cell 9,一旦到达cell9,它应该再次从cell1开始。在 cell2 位置,它必须检查 cell1 是否有 red 类,如果有,则将其删除并将“red”类添加到 cell2,这个过程应该永远持续下去。
$(document).ready(function () {
// setInterval(AddRedClass(), 1000)
});
function AddRedClass() {
var boxes = $('.box');
var boxLength = boxes.length - 1;
var lastChildIndex;
for (var index = 0; index < boxLength;) {
var currentBox = $(boxes[index]);
var lastChildIndex = (index == 0) ? boxLength : index - 1;
var prevBox = $(boxes[lastChildIndex]);
if (prevBox.hasClass('red'))
setTimeout(prevBox.removeClass('red'), 1000);
setTimeout(currentBox.addClass('red'), 1000);
index = (index + 1) % boxLength;
}
}
.container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 250px;
}
.box {
width: 30%;
border: 1px solid green;
}
.red {
background: red!important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="box">
c-1
</div>
<div class="box">
c-2
</div>
<div class="box">
c-3
</div>
<div class="box">
c-4
</div>
<div class="box">
c-5
</div>
<div class="box">
c-6
</div>
<div class="box">
c-7
</div>
<div class="box">
c-8
</div>
<div class="box">
c-9
</div>
</div>
谁能解释一下我的代码有什么问题。
谢谢
【问题讨论】:
-
你为什么要删除然后再添加红色类?