0

我有一个 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);
    } 
});

我以前工作很好。然后突然之间,它并没有增加 margin-left 的值,而只是将其更改为200pxor -200px。在查看 jQuery 的文档时.animate,他们关于这个增量方法的示例可以正常工作。

4

1 回答 1

4

您最近升级到 jQuery 1.10.0 了吗?如果是这样,则相对增量动画问题(例如.animate({'margin-left': '+=200px'})是该版本中的一个错误,今天刚刚在 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

于 2013-05-31T02:59:51.297 回答