我一直试图让一个循环工作,而另一个淡出其他淡出。
到目前为止我的代码
setInterval(function() {
jQuery(".loop").each(function(index, k) {
jQuery(this).delay(1200 * index).fadeIn(600, function(){
jQuery(this).fadeOut(600);
});
});
}, 1200);
示例会发生什么:http://www.timoleon.co.uk/new/
有时它似乎有效,有时它会显示两个.loop div?有什么想法吗?
答案 0 :(得分:1)
由于你每隔1200
毫秒调用一次该函数,一旦第一个元素逐渐淡出,该函数再次被调用,并且当最后一个函数仍在运行时它再次开始淡入,这意味着第二个元素正在淡入。因此,两个元素都在淡入,两个元素都在显示。
尝试将其更改为setTimeout(function() { [...] }, 2400)
。这样,第二个元素将在第一个元素再次淡入之前淡入淡出。
setInterval(function() {
jQuery(".loop").each(function(index, k) {
jQuery(this).delay(1200 * index).fadeIn(600, function(){
jQuery(this).fadeOut(600);
});
});
}, 2400);