这是我网站的大致结构:
<header>
<section1>
<section2>
<section3>
<footer>
我正在使用 ScrollMagic 场景固定我的标题,直到 section2 到达窗口顶部。
为了实现这一点,我将场景的持续时间设置为标题的高度 + section1 的高度。
问题是 ScrollMagic 在我的标题周围创建了一个 div 元素,其填充底部正好是该持续时间。
但我不想要那个填充。我希望标题位于第 1 部分的顶部,一旦我开始滚动,就好像它是固定的一样 - 但直到我到达第 2 部分。此时第 2 部分到达窗口顶部(减去标题高度)我希望场景结束并且标题滚动出来。
事实上,当我将持续时间设置为 0 时,一切正常。但显然,这也让我的标题始终保持在那里,并且在我到达 section2 时不会消失。
我希望这是可以理解的。
这是我的代码:
var controller = new ScrollMagic.Controller();
var headerscroll = $("#header").height() + $("#section1").height() ;
var headerScene = new ScrollMagic.Scene({
pushFollowers: false,
duration: headerscroll,
offset: 30
})
.setPin("#header");
controller.addScene([
headerScene
]);