jQuery animate left decrement var value在chrome和ie上返回0

时间:2016-03-23 12:53:09

标签: jquery google-chrome window jquery-animate width

在开发此网页时,我遇到了这个问题:

http://gfn.gfn.pt/

每当触发以下函数而不是将窗口宽度返回到左侧时,它会为每个.efect元素返回0.

function slideFoward(speedB){
    var windowW = $(window).width();
    var d=0;
    $('.efect').each(function(){
        $(this).delay(d).animate({
            'left':'-='+windowW,
            'right':'+='+windowW
        },speedB);
        d=d+50;
    });
}

这只发生在chrome,即safari上。在firefox中它的作用很好。

我已经研究了很多这方面的答案。如果有人有任何线索,为什么会发生这种情况请帮助。 谢谢VM

1 个答案:

答案 0 :(得分:0)

通过一些解决方法解决了这个问题:

而不是使用 - =减量运算符我已经将窗口宽度减去了element.offset()。left

function slideFoward(speedB){   
    var windowW = $(window).width();
    var d=0;
    $('.efect').each(function(){
        var leftP=windowW-$(this).offset().left;
        $(this).delay(d).animate({
            'right':'+='+windowW,
            'left':''-leftP
        },speedB);
        d=d+50;
    });
}