你有一个问题,因为在第一次迭代之后它会一起显示它们,然后从那里切换状态,即可见或不可见。您还可以摆脱超时等并使其更通用。
为您的图像(或 div 或您正在使用的任何东西)提供一个通用类
<img class="letterfile slide" src="http://placehold.it/100x100" />
<img class="handfile slide" src="http://placehold.it/200x200" />
JS
$(document).ready(function () {
var duration = 'slow', type="linear";
function toggleEM() {
//Get the visible slide and after 2 sec start fade out transition
$('.slide:visible').delay(2000).fadeOut(duration, type, function(){
//once this is complete slide in the next one, i.e a sibling of this image
$(this).siblings('.slide').fadeIn(duration, type, function(){
toggleEM(); //after that is completed start the loop again
});
})
}
toggleEM();
});
演示
大多数动画方法都有一个完整的回调,它将在一个动画完成时执行,并且在您的情况下恰好是您想要开始下一个fadeTransition的地方。