我必须制作一个作为任务的委员会,像科幻电影“第三类亲密接触”一样点亮1。这里的主要目标是让特定的块以特定的顺序点亮,它们之间有2秒的间隔,这就是我现在所做的代码:
$(document).ready(function () {
var colorBlocks = [
'yellow',
'green',
'blue',
'white',
'orange'
]
$.each(colorBlocks, function (i) {
$('#' + this).css("background", this);
// When you use the alert you can see the boxes change color one by one
// alert(something);
});
});
但这似乎不起作用,它会立刻改变所有方框的颜色,除非你警告(某事);
任何人都可以帮忙吗?
答案 0 :(得分:1)
我想你想要这样的东西:
$.each(colorBlocks, function (i) {
setTimeout(function() {
$('#' + this).css("background", this);
}.bind(this), i * 2000);
});
为什么i * 2000
?
我是迭代的索引,所以它等待i * 2000 ms
每次调用下一个"动画"发生。
答案 1 :(得分:0)
这应该有效
$(document).ready(function () {
var colorBlocks = [
'yellow',
'green',
'blue',
'white',
'orange'
];
$.each(colorBlocks, function (index, key) {
var selector = $("#" + key);
setTimeout(function () {
selector.css("background", key);
}.bind(this), index * 2000);
});
});
答案 2 :(得分:-1)
执行setInterval并每2秒增加一次,然后调用显示块的函数。