Javascript 预结束衰减过渡

Javascript 预结束衰减过渡,javascript,jquery,Javascript,Jquery,我想对我的prepend()函数进行转换。每次在#instafeeddiv中预先添加一个项目时,它都应该先淡出,然后预先添加,最后淡入。其目的是使预结束过渡尽可能平滑,以便用户在项目再次淡入之前看不到项目的更改 问题是,即使设置时间,项目更改也会在淡出之前发生 需要:fadeOut==>prepend==>fadeIn 发生了什么:prepend==>fadeOut==>fadeIn $(function($){ $('.thebutton').click(function(){

我想对我的
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);   
}); 

我该怎么办?

您需要在
fadeOut()
的回调中执行
prepend()
fadeIn()
,以便在动画结束时执行它们。试试这个:

$('.thebutton').click(function(){
    $('#instafeed').fadeOut(3000, function() {
        $(this).prepend($('#instafeed div:last')).fadeIn(3000)
    });
});

您需要在
fadeOut()
的回调中执行
prepend()
fadeIn()
,以便在动画结束时执行它们。试试这个:

$('.thebutton').click(function(){
    $('#instafeed').fadeOut(3000, function() {
        $(this).prepend($('#instafeed div:last')).fadeIn(3000)
    });
});

应在回调函数中调用:

$('instafeed')。淡出(3000,函数(){
$(this).prepend($('instafeed div:last')).fadeIn(3000);
});

应在回调函数中调用

$('instafeed')。淡出(3000,函数(){
$(this).prepend($('instafeed div:last')).fadeIn(3000);
});
使用的回调处理程序

使用的回调处理程序


请注意,
prepend()
没有回调函数,因为它不是异步的。@Rorymcrossan感谢您的更新而不是降级:)请注意,
prepend()
没有回调函数,因为它不是异步的。@Rorymcrossan感谢您的更新而不是降级:)