简而言之,我正在寻找一个jQuery循环,它将使用一个类(大约10个小div)在一行中选择每个div,然后执行每个div上的一些代码特别淡出和包含在div中的图像,然后暂停和继续前进,对下一个div做同样的事情.
该循环同时在所有包含的图像中淡出/包含…
$('.div_class').each(function() { $(this).children().fadeOut('fast',function() { $(this).fadeIn('slow'); }); });
我已经看过jQuery函数delay()和setInterval()和本机JavaScript函数setTimeout().
看来我不能让他们工作,或者我看到的例子很冗长而复杂.有了jquery的魔力,似乎我应该能够添加很少的代码,以上的循环,以使它可以串联工作.
如前所述,我正在寻找一个干净简单的例子.
解决方法
您可以使用
.delay()
与
.each()
提供的索引结合回调,如下所示:
$('.div_class').each(function(i) { $(this).children().delay(800*i).fadeOut('fast',function() { $(this).fadeIn('slow'); }); });
这样做会让他们背靠背(fast = 200 slow = 600),如果你想要更多的延迟,只要增加800,你想要的.在上面的例子中,第一次立即运行,接下来的800ms后,接下来的800个等等.