javascript - 如何优化“ScrollMagic+TweenMax+GSAP”的性能?
问题描述
乍一看,一个简单的动画会导致滞后并且在移动设备上不稳定。它在 PC 分辨率上看起来很正常,但在移动设备上却不是。
在 Chrome 中,我可以通过转到F12 > emulate mobile > iPhone 6/7/8来重现它。
当页面向下滚动时,可能会看到动画文本有点上下晃动,换句话说,它是不稳定的。
带有视觉表示的 GIF
Codepen
P.SI 无法在此处插入工作代码片段,因为库不会以正确的顺序加载。但这里是 JavaScript:
var scene = $( '.rRnZuqay' );
var sceneHeight = $( window ).height();
$( window ).resize( function()
{
sceneHeight = $( window ).height();
})
var scrollMagicController = new ScrollMagic.Controller({
globalSceneOptions: {
triggerHook: 0,
duration: sceneHeight
}
});
for( var i = 1; i <= 4; i++ )
{
var tween = TweenMax.to( "#bKttYWNK" + i + " > .yOTeuBuJ", 1, {
y: sceneHeight/2,
ease:Linear.easeNone,
autoAlpha: 0
});
new ScrollMagic.Scene({ triggerElement: "#bKttYWNK" + i })
.setTween( tween )
.addIndicators()
.addTo( scrollMagicController )
}
解决方案
推荐阅读
- reactjs - 保存任何更改后 Babel 卡死(找不到模块 './transform-classic')
- java - 如何在tomcat重写文件的urlrewrite.xml中使用环境变量
- c++ - 在 C++ 中,static_cast 是否比 dynamic_cast 更受欢迎?
- docker - 发布构建工件任务结果“路径不存在”错误
- javascript - 如何使用样式化组件将样式应用于多个组件
- r - 我不明白为什么 R 认为我的数据集在我的数据集中包含重复的元素对?
- haskell - Cabal 在使用 alex 构建时尝试构建未知包,在 nix-shell 中很开心
- javascript - 如何使用 javascript 自动生成嵌入令牌?
- delphi - 更改图像的 Exif 标签“方向”
- webpack - 如何获取从 webpack 中的 post 方法发送的数据并将其传递到 Phaser 3 中的游戏场景?