【发布时间】:2021-01-20 15:39:26
【问题描述】:
如何仅在展开时更改此菜单的背景颜色?
当不活动时,我希望背景如图所示,但是,当菜单处于活动状态时,我希望颜色变为浅灰色。如果不改变这两个州的整个背景,我无法弄清楚如何做到这一点。
这是我的代码:
<nav
class="navbar navbar-expand-xl navbar-light fixed-top wrap pt-3"
id="mainNav"
>
<button
class="hamburger hamburger--squeeze"
type="button"
data-toggle="collapse"
data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="hamburger-box">
<span class="hamburger-inner"></span>
</span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto pt-2">
<li class="nav-item active">
<a class="nav-link" href="#"
>Illustration <span class="sr-only">(current)</span></a
>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Graphic Design</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
</nav>
我已经为所有屏幕提供了这个滚动功能:
window.addEventListener('scroll', function (event) {
event.preventDefault();
if (window.scrollY <= 50) {
nav.style.backgroundColor = 'transparent';
} else {
nav.style.backgroundColor = '#fff';
nav.style.opacity = '0.9';
nav.style.transition = '0.4s ease';
}
【问题讨论】:
-
哪个元素应该获得背景变化?
标签: javascript html jquery css twitter-bootstrap