jquery动画第一次触发但是在更改类之后没有触发?

时间:2012-04-01 07:01:05

标签: jquery jquery-animate

以下动画完全按照我第一次调用函数的方式工作,但是在函数更改类之后,只有不透明度动画在调用函数时才起作用,而左侧的幻灯片甚至都没有尝试执行。我是Jquery的菜鸟,所以我不确定是什么导致一个动画不工作而另一个工作正常...任何提示都非常感谢。可以在www.digitalbrent.com/lab上找到该示例 - 单击“填充”,然后单击“减少”。

function slider_minus(){

    $('.left_slot').animate({
        left: '50px'        //only works on first function call
    },300);

    $('.middle_slot').animate({
        left: '50px'        //only works on first function call
    },300, function(){
         $('.middle_slot').attr('class','right_slot')
         $('.left_slot').attr('class','middle_slot')
    });

    $('.right_slot').animate({
        opacity: 0,         //works correctly every time
        left: '50px'        //only works on first function call
    },300);
}

1 个答案:

答案 0 :(得分:2)

因为您正在设置left:50px,所以一旦它在50px左侧,它就不会显示动画。

尝试

left: "+=50"

这将导致你的div在每次调用时向左移动50个像素,无论它现在在哪里