我在使用jQuery方法.addClass().removeClass时遇到问题
JsFiddle:http://jsfiddle.net/HEM7Q/4/
$(document).ready(function () {
$(".button").click(function(e) {
$(".position1").animate({left:"400px"},2000, function(e){
$(".position1").addClass("position2").removeClass("position1");
})
});
});
看到,最初的css.left是20 px(因为它在类.position1中定义)。现在,我为div设置动画,直到其左侧变为400px。动画完成后,我添加了class position2(其中左侧是50px),然后删除了position1。
因此,在动画完成后,div是否不应该回到左== 50像素?
为什么没有发生,正确的代码是什么?
最佳答案
我会说animate
方法正在修改内联样式以获取所需的效果,即使在动画完成时(除非您主动还原),该效果仍然存在(这要优先于定义的样式类)。