我想创建一个简单的css效果,为项添加类:
https://jsfiddle.net/xjmm2k8n/
<div class="item">item1</div>
<div class="item">item2</div>
<div class="item">item3</div>
<div class="item">item4</div>
<div class="item">item5</div>
.item {
opacity:0;
}
$(".item").each(function(index, element) {
console.log(element);
$(element).css('opacity', 1).delay(1000);
});
因此,如果我有5个不透明度为0的项目,我想按顺序将每个元素的opcaity设为1(延迟1秒)
有任何线索吗?
答案 0 :(得分:1)
你需要链接功能。 :)
您可以在.animate
中使用setTimeout()
或关闭:
time = 0;
$(".item").each(function(index, element) {
console.log(element);
(function (e, t) {
setTimeout(function () {
$(e).css('opacity', 1);
}, t);
})(element, time+=1000);
});
答案 1 :(得分:1)
尝试在此背景下使用setTimeout
,
$(".item").each(function(index, element) {
setTimeout(function(){
$(element).css('opacity', 1);
}, 1000 * index);
});
每次迭代都不需要创建范围,.each()
会为您执行此操作。在内部,每个人都会通过提供callBack
和index
来调用传递的element
函数。这实际上为你创造了一个范围。所以它会自动帮助我们摆脱因关闭造成的问题。