我有一个jQuery函数,直到最近一直运行良好。
//Calculate width of slider container
var calc_width = 200 * $('.side_list_cont').length;
$("#op_slide").width(calc_width);
//Calculation for when to decrease margin for slide effect
$('#op_right').click(function(){
var slidewidth = parseInt($('#op_slide').css('width'),10),
getslideleft = parseInt($('#op_slide').css('margin-left'),10),
slideleft = ((getslideleft - 200)*-1);
if ( slideleft >= slidewidth ) {
}
else {
$('#op_slide').animate({'margin-left': '-=200px'}, 200);
}
});
//Calculation for when to increase margin for slide effect
$('#op_left').click(function(){
var slidewidth = $('#op_slide').css('width'),
slideleft = $('#op_slide').css('margin-left');
if (slideleft == '0px') {
}
else {
$('#op_slide').animate({'margin-left': '+=200px'}, 200);
}
});
我过去工作很棒。然后突然间,它没有增加左边距值,而只是将其更改为200px
或-200px
。在.animate
上查看jQuery的文档时,他们在此增量方法上的示例可以正常工作。
答案 0 :(得分:4)
您最近是否升级到jQuery 1.10.0?如果是这样,那个版本中的相对增量动画问题(例如.animate({'margin-left': '+=200px'}
)是a bug,该版本今天刚刚在1.10.1中修复。
请参阅:http://blog.jquery.com/2013/05/30/jquery-1-10-1-and-2-0-2-released/和http://bugs.jquery.com/ticket/13939