我编写了同一个主页的两个版本:一个是快速滚动,另一个是当我向下滚动时标题导航隐藏并在我向上滚动时显示。
问题是我无法让它们一起工作,因为我必须删除“溢出:滚动”和“高度:100vh”才能使菜单隐藏工作,但这将阻止快照滚动到功能。
<header>
<nav>
Navigation
</nav>
</header>
<main>
<article>
<section class="a">
</section>
<section class="b">
</section>
<section class="c">
</section>
</article>
</main>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
'use strict';
var c, currentScrollTop = 0,
navbar = $('nav');
$(window).scroll(function() {
var a = $(window).scrollTop();
var b = navbar.height();
currentScrollTop = a;
if (c < currentScrollTop && a > b + b) {
navbar.addClass("scrollUp");
} else if (c > currentScrollTop && !(a <= b)) {
navbar.removeClass("scrollUp");
}
c = currentScrollTop;
console.log(a);
});
});
</script>
这些是我的风格:
body {
margin: 0;
}
nav {
border-bottom: 0.05rem solid black;
height: 5rem;
line-height: 5rem;
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 10000;
transition: all 0.5s;
}
nav.scrollUp {
transform: translateY(-6rem);
}
nav ul {
display: flex;
justify-content: space-between;
margin: 0;
padding: 0;
}
article {
display: flex;
flex-wrap: wrap;
scroll-snap-type: mandatory;
scroll-snap-type: y mandatory;
overflow: scroll;
height: 100vh;
}
section {
scroll-snap-align: start;
height: 100vh;
width: 100vw;
}
section.a {
background-color: pink;
}
section.b {
background-color: tomato;
}
section.c {
background-color: yellow;
}
我已经为标题使用了三个不同的 js 脚本,但都归结为同一个问题:文章选择器中的溢出/高度样式。
任何想法如何让它发挥作用?先感谢您!