每次我点击div“蓝色”它移动100px。它运行良好,有一天我意识到它停止工作。在尝试了很多事情之后,我发现问题是最新版本的jQuery 1.10现在它只移动100px一次。正如它忽略了=。我找不到是否已弃用?如果是这样,现在正确的方法是什么?
你可以看到它在这里工作:http://jsfiddle.net/RB4eJ/1/
(这是在jQuery 1.9.1中工作,但它不在1.10)
$(function(){ $(".blue").click(function() { $(".blue").animate({left: "+=100"},500) }); })
解决方法
如果它是一个错误,我希望他们修复它,因为它是有用的。但是现在你可以这样做:
$(".blue").click(function() { var new_left = +$(this).css("left").replace("px","") + 100; $(".blue").animate({left: new_left + "px"},500) });
或者@adeneo建议:
$(".blue").click(function() { $(this).animate({left: $(this).position().left+100},500); });