ScrollMagic - 永久添加类,而不是在向上滚动时删除

时间:2018-05-25 16:51:07

标签: scrollmagic

我想要做的就是在第一次滚动到视图时为div添加一个类,然后将其保存在那里。 (所以,我不想切换它 - 只需触发一次)。我有一个动画,它基于向父div添加一个类,即使我指定了一个方向,当我在检查器中检查它时,它仍然在反向滚动上删除该类。我不希望动画每次滚动时都会运行,但只有第一次运行(然后在完成动画状态下保持不变)。

var controller = new ScrollMagic.Controller();

var scene = new ScrollMagic.Scene({
triggerElement: '#intro',
offset: 50
})
.on("start", function(e) { 
    if (e.scrollDirection === "FORWARD") {
        $('#welcome').addClass('animated');}
    })
.addTo(controller);

我确实尝试添加持续时间,但没有效果。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

是的,您可以在场景中添加 .reverse(false)。这将使动画只发生一次,所以如果你向后滚动,它将不会切换类。

下面是一个如何使用它的示例和下面的链接到使用它的非常简单的演示。此外,更多信息是文档的另一个链接。

reverse(false)

$(document).ready(function(){
  var controller = new ScrollMagic.Controller();

  var scene = new ScrollMagic.Scene({
    triggerElement: '.title',
    triggerHook: .6
  })
  .setClassToggle('.title', 'animate')
  .reverse(false)
  .addIndicators()
  .addTo(controller);

});

CodePen Demo