首页 > 解决方案 > 滚动到底部时如何更改导航栏的颜色?

问题描述

我有2个问题。 问题 1:滚动到底部时,我正在尝试更改导航栏背景颜色。我正在尝试添加该类,但它无法覆盖引导程序 !important 属性。但我已经使用这条线覆盖了它:

nav.scrolled {
  background-color: #e8e4e1 !important;
  box-shadow: 2px 10px 4px var(--section-bg-light);
}

问题2:如何在滚动到页面底部、页面页脚时使用javascript更改导航栏背景?

let navbar = document.querySelector('.navbar');
let section = document.querySelectorAll('section');

section.addEventListener('mouseover', addIt);

function addIt() {
    navbar.classList.remove('bg-transparent');
    navbar.classList.add('bg-dark');
}
nav.bg-dark {
    background-color: #e8e4e1 !important;
}
<nav class="navbar navbar-expand-lg navbar-light bg-transparent fixed-top">
            <div class="container-fluid">
                <a class="navbar-brand" href="#"><img src="./img/logo-min.png" alt="JN-Fashion-Zone"></a>
                <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
                <div class="collapse navbar-collapse" id="navbarNav">
                    <ul class="navbar-nav">
                        <li class="nav-item home">
                            <a class="nav-link" aria-current="page" href="#">Home</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="#">Products</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="#">Services</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="#">Contacts</a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>

标签: javascripthtmlcss

解决方案


请查看如何覆盖!重要? 您需要使用高特异性来覆盖 !important 规则。尝试向您的选择器添加更多级别。


推荐阅读