Javascript 延迟的奇怪行为?
在下面的代码中,页面将淡入,然后它将淡入左侧的列表项,然后它将淡入右侧的每个缩略图。但由于我使用了.delay(),它最终跳过了部分或全部缩略图的加载。除了.delay()之外,还有什么其他方法可以用来在拇指开始运动之前停止拇指的运动吗Javascript 延迟的奇怪行为?,javascript,jquery,Javascript,Jquery,在下面的代码中,页面将淡入,然后它将淡入左侧的列表项,然后它将淡入右侧的每个缩略图。但由于我使用了.delay(),它最终跳过了部分或全部缩略图的加载。除了.delay()之外,还有什么其他方法可以用来在拇指开始运动之前停止拇指的运动吗 //Showcase $('#showcase').animate({'opacity' : 0}, 0); fadeInDivs(['#showcase']); function fadeInDivs(els) { e
//Showcase
$('#showcase').animate({'opacity' : 0}, 0);
fadeInDivs(['#showcase']);
function fadeInDivs(els) {
e = els.pop();
$(e). delay(750).animate({'opacity' : 1}, 1000, function(){
if (els.length) fadeInDivs(els);
});
};
$('#showcase').queue(function(){
//fade in each filter
$('#filters li').each(function(i, item) {
setTimeout(function() { $(item).animate({'opacity' : 1}, 1000); }, 50 * i);
});
//fade in each thumbnail
$('.thumb').delay(1000).each(function(i, item) {
setTimeout(function() { $(item).animate({'opacity' : 1}, 1000); }, 500 * i);
});
});
试试这个。我想这就是你要找的。如果不是,请告诉我。以下是jQuery代码:
$('#showcase').queue(function() {
var i = 0;
var length = $('#filters li').length;
//fade in each filter
$('#filters li').each(function(i) {
//alert(i);
$(this).delay(750*i).animate({
'opacity': 1
}, 1000, function() {
if (i == length) {
//fade in each thumbnail
$('.thumb').each(function(i) {
$(this).delay(750 * i).animate({
'opacity': 1
}, 1000);
});
}
});
i++;
});
});
我正在试着让li的滤镜淡入,完成后我想让拇指淡入。。这是一把小提琴,因为你看到的照片开始淡入前的过滤器complete@JoeBobby-我更新了小提琴。看看这是否更符合您的喜好。是否有方法只需更改.queue()中的部分即可完成此操作?还有,你为什么从动画改为fadeIn呢?@Joebby-我又更新了小提琴。我使用fadeIn的原因是因为它更容易阅读,而且它也能做同样的事情。但是我更新了它,只是重新排列了你的代码。这似乎就是我想要的效果。谢谢!