【问题标题】:ScrollMagic offset on different window height不同窗口高度上的 ScrollMagic 偏移
【发布时间】:2019-07-29 23:28:46
【问题描述】:

我正在使用 ScrollMagic 来获得一些滚动动画。问题是我需要使用偏移量,以便动画在某个滚动点上触发,但这完全取决于窗口高度。

所以在我提供的示例中

https://jsfiddle.net/5tvrnfkx/12/

您可以看到滚动显示的框。 https://tppr.me/RpkVa

注意窗口高度https://tppr.me/hoyhs尝试调整高度或预览面板并运行。

所以在426px 窗口高度下,它可以完美运行。以无框的方式启动页面并在滚动时显示动画。

尝试增加高度并检查https://tppr.me/sYJ5a,该框出现在开头。同样,如果您降低高度,则该框仅在滚动几次后才会出现。

所以我想知道是否有任何方法可以使偏移值动态化,因此在任何窗口高度中,动画都从页面滚动的完全相同的点开始。

【问题讨论】:

    标签: javascript jquery gsap scrollmagic gasp


    【解决方案1】:

    是的,您可以使用triggerHook 并将其设置为0(或非常接近),而不是使用offset

    像这样:

    jQuery(function() {
    
      var controller = new ScrollMagic.Controller();
    
        var tween = TweenMax.to("#boxAnim", 1, {className: "+=animate"});
        var scene = new ScrollMagic.Scene({triggerElement: "#trigger", duration: 300, triggerHook: 0})
                .setTween(tween)
                .addTo(controller);
    
    
      var height = $(window).outerHeight();
    
      $('.height').append(height);
    });
    

    【讨论】:

    • 成功了,谢谢。你能简要解释一下这是如何工作的吗?使用offsettriggerhook 有什么区别?
    • 当然。简而言之,offset 基于像素,triggerHook 是相对的 - 数字 0 到 1。它们使用 triggerElement 作为参考。一般来说,您可能更喜欢使用triggerHook 而不是offset。如果您想了解更多,我发现了这个:ihatetomatoes.net/visual-guide-scrollmagic(可能比我解释得更好)。
    • 你知道是否有任何方法可以禁用它以获得更宽的屏幕?我在代码下面尝试了类似$(window).on('resize', function() { var winWidth = $(window).width(); if (winWidth >= 1680) { scene.destroy(); } else { scene.refresh(); } }).resize(); 的东西,但它不起作用。
    • 是的,但我们需要进行更多更改。看看:jsfiddle.net/02ng716z。快速解释: var scene 现在是全局声明的。创建function initScrollMagic()。然后在调整大小时,如果winWidth>= 1680 && scene 不是未定义的,它将破坏scenetrue 重置tween)并将场景设置为undefined。反之,如果winWidth < 1680scene未定义,它会调用initScrollMagic重新创建。
    • 这有所帮助,但现在我弄清楚了我的问题到底是什么。当我们有超过 1 个元素进行动画处理时。就像实时一样,我有很多动画要处理,这就是我使用它的方式jsfiddle.net/z4srp2bq/3 所以发生的情况是,它在页面刷新时效果很好,但在调整页面跳转大小时效果很好。我应该使用$(each) 声明吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多