[英]How to change nav background color to transparent when scrolled to the top?
我很挣扎,真的很困惑......当我向下滚动导航栏时,这很棒。 当我向上滚动时,我希望它是那种绿色,但是一旦我在页面顶部,我希望它变得透明。 有人可以帮我解决这个问题吗?
https://codepen.io/mattmcgilton/pen/rNarKgR
window.onscroll = function() {
var currentScrollPos = window.pageYOffset;
if (prevScrollpos > currentScrollPos) {
document.getElementById("navbar").style.top = "0";
} else {
document.getElementById("navbar").style.top = "-150px";
}
prevScrollpos = currentScrollPos;
}
<div class="container-fluid nav-padding" id="navbar">
<div class="row">
<div class="col-12">
<nav>
<div class="d-flex">
<div class="col">
<span class="nav-left-text">west end</span>
</div>
<div class="col text-right">
<button onClick="document.getElementById('rego').scrollIntoView();" class="register-btn-top">register <span class="d-none d-sm-inline d-lg-inline">now</span></button>
</div>
</div>
</nav>
</div>
</div>
</div>
你只需要在onscroll
事件中再添加一个条件:
if(currentScrollPos === 0) {
document.getElementById("navbar").style.backgroundColor = 'transparent';
} else {
document.getElementById("navbar").style.backgroundColor = 'rgb(27,53,52)';
}
================================================
================================================
window.onscroll = function() {
var currentScrollPos = window.pageYOffset;
if(currentScrollPos === 0) {
document.getElementById("navbar").style.backgroundColor = 'transparent';
} else {
document.getElementById("navbar").style.backgroundColor = 'rgb(27,53,52)';
}
if (prevScrollpos > currentScrollPos) {
document.getElementById("navbar").style.top = "0";
} else {
document.getElementById("navbar").style.top = "-150px";
}
prevScrollpos = currentScrollPos;
}
<div class="container-fluid nav-padding" id="navbar">
<div class="row">
<div class="col-12">
<nav>
<div class="d-flex">
<div class="col">
<span class="nav-left-text">west end</span>
</div>
<div class="col text-right">
<button onClick="document.getElementById('rego').scrollIntoView();" class="register-btn-top">register <span class="d-none d-sm-inline d-lg-inline">now</span></button>
</div>
</div>
</nav>
</div>
</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.