- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试了解如何将 TimelineMax 与 Scrollmagic 一起使用。这个问题很容易解释。
我有类似的 DOM 元素,比如移动速度必须比滚动速度慢的粒子。
第一个实现是可行的(没有时间表)
var controller = new ScrollMagic.Controller();
var $particles = $("#particles li");
$particles.each(function() {
var tween = TweenMax.to($(this), 1, { y: -100, ease: Linear.easeNone });
var scene = new ScrollMagic.Scene({
triggerElement: ".wrapper",
duration: 1000
});
scene.setTween(tween);
scene.addTo(controller);
});
第二个实现不工作(使用时间轴)
var controller = new ScrollMagic.Controller();
var $particles = $("#particles li");
var timeline = new TimelineMax();
$particles.each(function() {
timeline.to($(this), 1, { y: -200, ease: Linear.easeNone });
});
var scene = new ScrollMagic.Scene({
triggerElement: ".wrapper",
duration: 1000
});
scene.setTween(timeline)
scene.addTo(controller);
我想让时间轴正常工作,但元素没有动画效果。它们移动但时间为零。
谢谢你的帮助
---代码笔---
最佳答案
您可以尝试在第二次实现中使用 TimelineMax .add()
方法而不是 .to()
方法吗?所以你的代码应该是这样的:
var controller = new ScrollMagic.Controller();
var $particles = $("#particles li");
var timeline = new TimelineMax();
$particles.each(function() {
timeline.add(TweenMax.to($(this), 1, { y: -200, ease: Linear.easeNone }),0);
});
var scene = new ScrollMagic.Scene({
triggerElement: ".wrapper",
duration: 1000
});
scene.setTween(timeline)
scene.addTo(controller);
另外,为了更好的调试,请在场景中添加.addIndicators()
方法来查看屏幕上的指示器,这对于在滚动时进行调试非常有帮助。您也可以尝试使用 duration 属性,看看是否一切正常。
更新:因为所有粒子都需要同时移动,所以我在每个 .add
方法调用的末尾添加了一个 ,0
属性。这确保所有补间都在相同位置触发。您可以在此处阅读有关 position
属性的更多信息:
https://greensock.com/asdocs/com/greensock/TimelineLite.html#add()
希望这次有一个有效的例子:)
https://codepen.io/anon/pen/ryROrv
希望这对您有所帮助。干杯。
关于javascript - Scrollmagic TimelineMax 没有动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43136710/
我一直在尝试让动画在点击时触发,我已经通过 TimelineMax 创建了动画。我不明白为什么,但它一直触发这个动画的第一个实例,有 5 个 .blackout-panel 并且它为第一个 .blac
我必须在不同的步骤中进行剪辑路径转换。然而,在 greensock 中将 链接到 方法并没有提供我正在寻找的平滑度,因为它在样式之间卡住了几毫秒。这是我的代码: const box = documen
我正在尝试了解如何将 TimelineMax 与 Scrollmagic 一起使用。这个问题很容易解释。 我有类似的 DOM 元素,比如移动速度必须比滚动速度慢的粒子。 第一个实现是可行的(没有时间表
我有这个代码: import com.greensock.*; import com.greensock.easing.*; import com.greensock.events.*; var ti
基本上我有这样的结构,我的目标是为 4 个 div 设置动画,这样当您点击一个时,另一个会滑出,当您点击容器时,它们会返回到初始位置。 var TL = new TimelineMax; $('.qu
我是 ScrollMagic 的新手,但很喜欢它。 所以我有一个时间轴,它将飞机的各个部分组合在一起形成一架飞机。我打算将飞机的补间部分更改为整个飞机的单个图像,然后固定单个图像。 我已经设法将飞机的
我正在这样播放我的动画, tl = new TimelineMax({paused:true}); tl.to(DOM_ELEMENT_TOP,1,{left:100},ease:Linear.eas
我在重新初始化 TimelineMax 序列时遇到问题。调整窗口大小时,我需要将所有补间动画恢复为默认样式并根据新窗口大小重新初始化它们。有没有一种简单的方法可以有效地破坏时间线并重新开始,而无需手动
我正在尝试使用 GSAP 和 scrollMagic 创建一个简单的 timelineMax,我收到以下错误。我觉得一切正常,所以我不明白这个错误。 Uncaught TypeError: Canno
我对 javascript 比较陌生,但我对其他语言很熟悉。我正在尝试使用 Greensock 时间线构建模块化序列以减少代码重复。我正在尝试拥有一个可由我的所有功能访问的单例时间线。我尝试只使用全局
我在我的项目中使用 timelineMax 和 fullpage.js,我不希望我的当前幻灯片在我的 timelineMax 动画完成之前向上滑动。 因此,为此我在我的 timelineMax 中使用
我正在尝试使用 ScrollMagic 来控制 TimelineMax 来移动 Lottie 动画的播放头。 因此,当用户滚动时,动画会根据滚动的速度和方向播放。我已经很接近了,需要一点帮助才能将效果
我是闪存开发新手,我听说 Greensock lib 是最好的。但当我尝试下载时,它真的很令人困惑。有很多名字,比如 * TweenNano * TweenLite * TweenMax * Time
我试图用动画来模拟我的导入,但我不断得到 ● Test suite failed to run C:\work\portfolio\node_modules\gsap\TweenMax.js:
我是一名优秀的程序员,十分优秀!