Javascript jQuery动画回调不按顺序触发

Javascript jQuery动画回调不按顺序触发,javascript,jquery,callback,jquery-animate,Javascript,Jquery,Callback,Jquery Animate,构建具有一系列动画/回调的jQuery滚动程序。单击按钮时,滑动内容将淡出,其容器将移动n个像素(幻灯片) 执行时,动画回调并不总是在上一个动画结束时触发,整个序列变得不连贯 在我看来,皮塔吉的话很管用 var slideWidth = $('#carousel #slideContainer .slide').width(); var slidePos = (($('ul#carousel_nav li').index(this)) * slideWidth); slidePos = Math

构建具有一系列动画/回调的jQuery滚动程序。单击按钮时,滑动内容将淡出,其容器将移动n个像素(幻灯片)


执行时,动画回调并不总是在上一个动画结束时触发,整个序列变得不连贯

在我看来,皮塔吉的话很管用

var slideWidth = $('#carousel #slideContainer .slide').width();
var slidePos = (($('ul#carousel_nav li').index(this)) * slideWidth);
slidePos = Math.abs(slidePos) * -1;

$('#carousel #slideContainer .slide .slideContents').stop();
$('#carousel #slideContainer').stop();

    $('#carousel #slideContainer .slide .slideContents').fadeOut( 500, function() 
    {
        $('#carousel #slideContainer').animate({ left: slidePos }, 1000, function() 
        {
            $('#carousel #slideContainer .slide .slideContents').fadeIn( 500 );
        });
    });

请尝试
。停止(true)
,这也将清除动画队列。非常感谢!
var slideWidth = $('#carousel #slideContainer .slide').width();
var slidePos = (($('ul#carousel_nav li').index(this)) * slideWidth);
slidePos = Math.abs(slidePos) * -1;

$('#carousel #slideContainer .slide .slideContents').stop(true);
$('#carousel #slideContainer').stop(true);

$('#carousel #slideContainer .slide .slideContents').fadeOut( 500, function() 
{
    $('#carousel #slideContainer').animate({ left: slidePos }, 1000, function() 
    {
        $('#carousel #slideContainer .slide .slideContents').fadeIn( 500 );
    });
});