使固定内容下的可滚动文本不可见

问题描述:

我正在使用Scroll Magic滚动内容并固定部分内容。下面是HTML:使固定内容下的可滚动文本不可见

<div class="container"> 
    <div class="header"> 
    <div style="height:400px;"> 
    </div> 
    <div id="trigger1" style="min-height: 1px"></div> 
    <div id="pin" style="font-size: 30px; color: #fff;text-align:center;padding:30px 0;"> 
     This is header 
    </div> 
    </div> 
    <div class="text-container"> 
    <p class="text"> 
     Lorem Ipsum is simply .... 
    </p> 
    <p class="text"> 
     Lorem Ipsum is simply .... 
    </p> 
    <p class="text"> 
     Lorem Ipsum is simply .... 
    </p> 
    </div> 
</div> 

这是使用Javascript:

 $(function() { 
      var controller = new ScrollMagic.Controller({ 
       globalSceneOptions: { 
        triggerHook: 'onLeave' 
       } 
      }); 
      var scene = new ScrollMagic.Scene({triggerElement: "#trigger1"}) 
        .setPin("#pin") 
        .addTo(controller); 
     }); 

这里是的jsfiddle:https://jsfiddle.net/mddc/93sagkab/27/

当 '的.text' #pin内容下方向上移动,你可以看到它。在#pin下,如何使用CSS使.text不可见?我需要维持目前的设计,以山为背景。

您可以在场景中为.text元素添加一个类。就像这样:

var scene = new ScrollMagic.Scene({triggerElement: "#trigger1"}) 
        .setPin("#pin") 
        .setClassToggle(".text", "fade") //Add a class called "fade" 
        .addTo(controller); 

然后在.text元素的CSS定义transition

.text { 
    height: 1000px; 
    transition: opacity 150ms ease-out; //Add this 
} 

然后定义.fade风格:

.text.fade { 
    opacity: 0; 
} 

看到这个fiddle

+0

感谢您的帮助!这是行不通的。我用了一段作为例子。对不起,太简单了。我实际上有多个段落,并且它们一起消失。我希望让他们一个一个消失。请参阅此链接:https://jsfiddle.net/mddc/93sagkab/25/ – curious1

+1

会[像这样](https://jsfiddle.net/93sagkab/28/)工作?我想也许它需要一些调整,但这个想法可能是好的。只需循环嵌套在'.text'中的元素并用偏移量将它们添加到控制器。 – zgood

+0

你好zgood,非常感谢你的跟进!我复制了你的想法并使其工作。最好。 – curious1