jquery动画左侧位置firefox与jquery.easing插件不正确

时间:2014-02-05 12:06:36

标签: jquery firefox jquery-animate position jquery-easing

我在一个包装器中有3个绝对定位容器,我用jQuery制作动画。

我的动画功能:

function slideContainer(container, easing, offset){
    direction = (container.hasClass('out')) ? '+' : '-';
    //margin = (container.hasClass('out')) ? 0 : -offset;
    container.stop().animate({
        left: direction+"="+offset
        //'margin-left' : margin
    }, 650, easing, function() {
        $(this).toggleClass('out');
    });
};

我在Linux Box上。在Chrome中,一切都按预期工作。但是在Firefox 25中,我的容器的左侧位置随机设置为不同的值。 我刚刚在最新的Firefox / Windows上测试了这个。那里也有同样的问题。

这个小提琴中的所有动作:http://jsfiddle.net/gebeer/F2DZH/ 单击导航项以向左滑动并在红色Subnav容器上向后滑动。

当我为margin-left而非left位置设置动画时,它在两个浏览器中都能正常工作。

任何人都可以确认这一点或指出我的代码中的错误吗?谢谢。

更新:在摆弄了一些时间后,我发现FF中的问题似乎与我正在使用的缓动功能有关。最初我使用了来自jquery.easing.1.3插件的 easeInBack 。当我使用标准 swing 函数时,奇怪的行为就会停止。

要重现这一点,只需改变小提琴中的变化。

我仍然想使用 easeInBack 。我们非常感谢任何想法如何解决FF问题。

0 个答案:

没有答案