gpt4 book ai didi

javascript - 在 fullpage.js 中动态固定元素(标题)

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:32 25 4
gpt4 key购买 nike

我正在 fullpage.js 中构建一个页面.第一张幻灯片上的图像占视口(viewport)高度的 90%。另外 10% 是图像下方的导航栏。下图对此进行了演示。

enter image description here

当我滚动到下一张幻灯片时,我希望导航栏成为其余幻灯片的固定标题。

我尝试使用 jQuery 在 offset().top 值相对于 $(window).top() 为 0 时固定元素。这对我不起作用。

$(window).scroll(function () {
var nav = $('#nav');

var eTop = nav.offset().top;
if ((eTop - $(window).scrollTop()) == 0) {
nav.addClass('fixed');
}
else {
nav.removeClass('fixed');
}
});

这可能吗?我该如何实现?

最佳答案

如果您使用的是默认选项 css3:true,那么这样做就可以了:

$('#fullpage').fullpage({
sectionsColor: ['yellow', 'orange', '#C0C0C0', '#ADD8E6'],
onLeave: function(index, nextIndex, direction){
//leaving 1st section
if(index == 1){
$('.header').addClass('fixed');
}
//back to the 1st section
if(nextIndex == 1){
$('.header').removeClass('fixed');
}
}
});

您将需要此 CSS 用于 header 元素:

.header{
-webkit-transition: all 0.7s ease;
-moz-transition: all 0.7s ease;
-o-transition: all 0.7s ease;
transition: all 0.7s ease;

position:absolute;
top:100%;
margin-top: -100px;
left:0;
background:#000;
width:100%;
color: #fff;
height: 100px;
z-index:999;
}
.header.fixed{
bottom:auto;
top:0;
margin-top: 0;
}

你当然可以,改变高度等等。

考虑到我已将固定元素放置在插件的包装器之外。这样我就可以避免插件使用的 translate3d 属性出现问题:

<div class="header">Header</div>

<div id="fullpage">
<div class="section">...</div>
<div class="section">...</div>
...
</div>

See a demo

更新:

如果您使用的是 scrollBar:true,请使用以下 CSS 代替之前的 CSS:

.section {
text-align:center;
}
.header{
-webkit-transition: all 0.7s cubic-bezier(0.895, 0.030, 0.685, 0.220);
-moz-transition: all 0.7s cubic-bezier(0.895, 0.030, 0.685, 0.220);
-o-transition: all 0.7s cubic-bezier(0.895, 0.030, 0.685, 0.220);
transition: all 0.7s cubic-bezier(0.895, 0.030, 0.685, 0.220);
position:fixed;
top:100%;
margin-top: -100px;
left:0;
background:#000;
width:100%;
color: #fff;
height: 100px;
z-index:999;
}
.header.fixed{
bottom:auto;
top:0;
margin-top: 0;
position:fixed;
}

See demo

关于javascript - 在 fullpage.js 中动态固定元素(标题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27992060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com