我正在构建一个个人网站,我希望在向下滚动后让导航缩小。该网站由4个高度为100%的div组成。现在我正在使用JS,即300px滚动后缩小导航:
<script>
function init() {
window.addEventListener('scroll', function(e){
var distanceY = window.pageYOffset || document.documentElement.scrollTop,
shrinkOn = 300,
header = document.querySelector("header");
if (distanceY > shrinkOn) {
classie.add(header,"smaller");
} else {
if (classie.has(header,"smaller")) {
classie.remove(header,"smaller");
}
}
});
}
window.onload = init();
</script>
我的问题是如何在第一个div之后使导航缩小?
答案 0 :(得分:0)
您可以使用
shrinkOn = firstDiv.clientHeight
答案 1 :(得分:0)
如果要在窗口的顶部边框触及offsetTop
的顶部边框时缩小导航,可以使用div
获取div
的y坐标您可以将shrink
变量值设置为 -
shrink = div.offsetTop;
但是如果你想在越过div
之后缩小它,那么你可以将shrink
的值设置为此 -
shrink = div.offsetTop + div.offsetHeight
希望它有所帮助!