使固定内容下的可滚动文本不可见
问题描述:
我正在使用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。
感谢您的帮助!这是行不通的。我用了一段作为例子。对不起,太简单了。我实际上有多个段落,并且它们一起消失。我希望让他们一个一个消失。请参阅此链接:https://jsfiddle.net/mddc/93sagkab/25/ – curious1
会[像这样](https://jsfiddle.net/93sagkab/28/)工作?我想也许它需要一些调整,但这个想法可能是好的。只需循环嵌套在'.text'中的元素并用偏移量将它们添加到控制器。 – zgood
你好zgood,非常感谢你的跟进!我复制了你的想法并使其工作。最好。 – curious1