jQuery:CSS函数在动画函数后没有触发

时间:2012-08-15 08:19:25

标签: jquery

请有人解释为什么以下不起作用。这发生在相同的点击事件上,但CSS功能不是直接的,因此我不想在可能的情况下使用animate函数的回调。

注意:动画会触发,但css不会。

            container.animate({
                left : (posLeft + slideWidth),
            });


                container.css({
                left : '-'+(itemsLength + startX)+'px',
            }); 

1 个答案:

答案 0 :(得分:5)

.animate不是同步的,也就是说,绝对不能保证在.css(视觉上)完成后调用.animate。因此,在您的情况下,在调用.animate后,会立即调用.css,但内部调用left的{​​{1}}会快速覆盖.animate位置。< / p>

根据docs,第二个参数可以是定义选项的对象,其中一个是setInterval

  

如果提供,则完整回调功能会在触发后触发   动画完成。这对于串联不同可能很有用   动画按顺序组合在一起。回调不会发送任何   参数,但这被设置为动画的DOM元素。如果   多个元素是动画的,回调每执行一次   匹配的元素,不是整个动画的一次。

complete