我正在尝试制作基于Web的幻灯片演示,并试图找出在幻灯片之间进行过渡的最佳方法。我最初使用jQuery Animate(),但发现它一点都不平滑。我遇到了GreenSock TweenLite / TweenMax库,并且看到了改进。
不幸的是,事情仍然不是最顺利的。
到目前为止,这是我所拥有的:

http://codepen.io/FluidOfInsanity/pen/PbJbWm


它在Firefox中运行得很好,但在Chrome中却相当挣扎。窗口越大,跳动越多。
我的代码中是否有某些内容导致其过渡不平稳?还是我缺少TweenMax的实现?
非常感谢您的帮助。

更新/回答

最初,我的代码如下:

/* BEFORE UPDATE */
TweenMax.to($('.slide-holder'), speed, {
            left: "-=" + xTo,
            top: "-=" + yTo,
            overwrite: "all"
          });


TahirAhmed建议将其从lefttop更改为xy。现在我的代码看起来像这样,并且更加流畅:

/* AFTER UPDATE */
TweenMax.to($('.slide-holder'), speed, {
            x: "-=" + xTo,
            y: "-=" + yTo,
            overwrite: "all"
          });

最佳答案

设置动画时,建议使用xy而不是lefttop

参考文献:


为什么使用Translate()移动元素的效果优于Pos:abs顶部/左侧:Link
高性能动画:Link
CSS触发器:Link

10-06 08:50