我想对我的prepend()
函数进行转换。每次在#instafeed
div中添加一个项目时,它都应先淡出,然后再添加,最后再淡入。目的是使添加的过渡尽可能平滑,以使用户看不到项目更改,直到它再次消失。
问题在于,即使设置时间,项目更改也会在淡出之前发生。
通缉:fadeOut ==> prepend ==> fadeIn
发生了什么:prepend ==> fadeOut ==> fadeIn
$(function($){
$('.thebutton').click(function(){
$('#instafeed').fadeOut(3000).prepend($('#instafeed div:last')).fadeIn(3000);
});
setInterval( function(){
$('.thebutton').trigger('click');
}, 9000);
});
我该怎么办?
最佳答案
您需要在prepend()
的回调中执行fadeIn()
和fadeOut()
,以便在动画结束时执行它们。尝试这个:
$('.thebutton').click(function(){
$('#instafeed').fadeOut(3000, function() {
$(this).prepend($('#instafeed div:last')).fadeIn(3000)
});
});
关于javascript - 预先淡出过渡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34631390/