Jquery一个接一个地显示图像

这可能是这里的几个问题,我正在创建一个图像库,并希望缩略图一个接一个地淡入页面,这需要动态的div内的图像数量(重复使用其他画廊页面)

$(function { var $gallImages = $('#galleryThumbs img'); for(i=0; i<=$gallImages.length; i++){ $(document.getElementById('galleryThumbs').getElementsByTagName('img')[i]).addClass('done').fadeIn('slow'); }}); 

这会在加载的同时显示所有图像:(

还有一个更好的方法在jQuery中进行元素收集我找不到任何关于使用图像标记所需的数组

任何有关这方面的帮助都会受到赞赏,我对此有所了解

您可以向每个添加.delay() ,如下所示:

 $(function { $('#galleryThumbs img').each(function(i) { $(this).delay(i*600).fadeIn('slow') }); }); 

我不确定你的课程什么时候应该添加,你可以立即或者.queue()它,这取决于它是否应该在淡入淡出之前发生。 这会在第一个中立即消失,第二个600毫秒后(第一个淡入淡出结束时),下一个消失后等等。如果你想重叠只是低于600 (这就是'slow' )。

要立即添加类,逐个淡出:

 $('#galleryThumbs img').addClass('done').each(function(i) { $(this).delay(i*600).fadeIn('slow') }); 

或者,在褪色之前添加它:

 $('#galleryThumbs img').each(function(i) { $(this).delay(i*600).queue(function(n) { $(this).addClass('done'); n(); }) .fadeIn('slow') });