Javascript 在jQuery中的每个()函数之后进行延迟
我想在上一个Javascript 在jQuery中的每个()函数之后进行延迟,javascript,jquery,Javascript,Jquery,我想在上一个.dot之后的3秒延迟后为每个.dot设置动画 这是我使用的代码。但它不起作用 var time = 3000; $(".dot").each(function() { setTimeout(function() { $(this).addClass("animate"); $(this).find(".num").addClass("animate"); }, time) time += 3000; }); 此未引用中的元素,因此它不起作用 可以将参
.dot
之后的3秒延迟后为每个.dot
设置动画
这是我使用的代码。但它不起作用
var time = 3000;
$(".dot").each(function() {
setTimeout(function() {
$(this).addClass("animate");
$(this).find(".num").addClass("animate");
}, time)
time += 3000;
});
此
未引用中的元素,因此它不起作用
可以将参数传递给函数
var time = 3000;
$(".dot").each(function (i) {
setTimeout(function (self) {
self.addClass("animate");
self.find(".num").addClass("animate");
}, (i + 1) * time, $(this));
});
试试这个
$(".dot").each(function(i) {
$(this).delay(3000 * i).addClass("animate");
$(this).find(".num").delay(3000 * i).addClass("animate");
});
为了保持一致性,还需要添加标记(HTML、CSS)