我在一个包装器中有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问题。