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

Nay*_*ams 2 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);
Run Code Online (Sandbox Code Playgroud)

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

小智 6

是的,您可以在场景中添加.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);

});
Run Code Online (Sandbox Code Playgroud)

CodePen演示

  • @zhrivodkin如果有帮助,我删除了他们网站上滚动魔术示例中的“duration”属性。即使使用“reverse: false”,也会删除“visible”类 (2认同)