【问题标题】:On scroll animation using GSAP关于使用 GSAP 的滚动动画
【发布时间】:2017-11-25 05:14:18
【问题描述】:

我正在使用GSAP 制作动画,当用户滚动鼠标滚轮时,我需要滚动动画。现在动画正在处理页面加载。我需要内容应该在滚动条上制作动画。前两篇文章正在运行,但是当我滚动它时,动画不起作用。

(function() {
  var content = document.getElementById("content");
  var xScroll = 0;  // initialize
    function scrollHorizontally(e) {
        xScroll = xScroll+e.deltaY*20;
        // set limits to avoid overshooting and stucking at beginning or end
         var max = document.getElementById("content").innerWidth;
          if (xScroll <= 0) {
              xScroll = 0;
          } else if (xScroll >= max) {
              xScroll = max; //replace with the width of the scrollable container
          }
        // scroll smooth to xScroll
        TweenLite.to(content, 1, { ease: Power1.easeOut, scrollTo:{x:xScroll} });
        var rt = ($(window).width() - ($(".active_05").offset().left ));
        if(rt>200)
        {
          $(".about_menu").addClass("active");
        }
        else
        {
                    
        $(".about_menu").removeClass("active");
        }
        e.preventDefault();
    }
   if (content.addEventListener) {
        // Standard
        content.addEventListener("wheel", scrollHorizontally, false);
    } else {
        // IE 6/7/8
        content.attachEvent("onmousewheel", scrollHorizontally);
    }


      var article_1=document.getElementById("article_1");
    TweenLite.from(article_1, .5, { ease: Power0.easeOut, y: 10 });


    var article_2=document.getElementById("article_2");
    TweenLite.from(article_2, .5, { ease: Power0.easeOut, y: 10 });
     var article_3=document.getElementById("article_3");
    TweenLite.from(article_3, .5, { ease: Power0.easeOut, y: 15 });

      var article_3=document.getElementById("article_4");
    TweenLite.from(article_3, .5, { ease: Power0.easeOut, y: 15 });

      var article_3=document.getElementById("article_5");
    TweenLite.from(article_3, .5, { ease: Power0.easeOut, y: 15 });


})();
#content {
   position:fixed;
display: inline-block;
overflow-x: scroll;
width: 100%;
overflow-y: hidden;
top: 0;
right:0;
height: 100%;
}
#content #horizontal_scroll{
    overflow: hidden;
    width:400%;/*to increase the width */
}
#horizontal_scroll .full_screen_100
{
    height: 100%;
    background-color: #fff;
    display: flex;
}
#horizontal_scroll .full_screen_100 article{
    width: 900px;
    height: 100%;
    float:left;
    border-left: solid 1px #E2E2E2;

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.2/plugins/CSSPlugin.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.3/plugins/ScrollToPlugin.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.2/TweenLite.min.js"></script>
<div id="content">
<div id="horizontal_scroll" id="scroll_container">
<div class="full_screen_100">
    <article>
    <p id="article_1">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
    tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
    consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
    cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </p>

</article>
<article>
    <p id="article_2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
    tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo</p>
    <p id="article_3">consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
    cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</article>
<article>
    <p id="article_4">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
    tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo</p>
    <p id="article_5">consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
    cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</article>
</div>
</div>
</div>    

【问题讨论】:

    标签: javascript jquery html animation gsap


    【解决方案1】:

    将 GSAP 与 scrollmagic 结合使用。查看此示例 Gsap with scroll animation

    【讨论】:

    • @Pushparaj,我知道那个链接,我只想如何用我的代码实现它?
    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多