请有人解释为什么以下不起作用。这发生在相同的点击事件上,但CSS功能不是直接的,因此我不想在可能的情况下使用animate函数的回调。
注意:动画会触发,但css不会。
container.animate({
left : (posLeft + slideWidth),
});
container.css({
left : '-'+(itemsLength + startX)+'px',
});
答案 0 :(得分:5)
.animate
不是同步的,也就是说,绝对不能保证在.css
(视觉上)完成后调用.animate
。因此,在您的情况下,在调用.animate
后,会立即调用.css
,但内部调用left
的{{1}}会快速覆盖.animate
位置。< / p>
根据docs,第二个参数可以是定义选项的对象,其中一个是setInterval
如果提供,则完整回调功能会在触发后触发 动画完成。这对于串联不同可能很有用 动画按顺序组合在一起。回调不会发送任何 参数,但这被设置为动画的DOM元素。如果 多个元素是动画的,回调每执行一次 匹配的元素,不是整个动画的一次。
complete