javascript - 粘性导航栏在粘性后更改 CSS

标签 javascript css scroll navbar sticky

我知道这些粘性导航栏问题经常被问到,但我还找不到解决问题的办法。

我希望位于页面最顶部的导航栏在滚动 700 像素后返回并修复。这一直有效到现在。但问题是,我需要在修复后更改导航栏的 css(颜色和背景颜色)。

这是我的代码:Html(我正在使用 Bootstrap ):

<nav class="navbar navbar-sm">

    <div class="collapse navbar-collapse container-fluid" id="bs-example-navbar-collapse-1">
        <ul class="nav navbar-nav">
             <li><a href="javascript:void(0)">Fotos</a></li>
            <li class="dropdown">
                <a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Projects<span class="caret"></span></a>
                <ul class="dropdown-menu">
                    <li><a href="javascript:void(0)">Project1</a></li>
                    <li><a href="javascript:void(0)">Project2</a></li>
                </ul>
            </li>
        </ul>
    </div>
</nav>

我的 JavaScript 是:

$(window).bind('scroll', function() {
var navHeight = 700; 

($(window).scrollTop() > navHeight) ? 
    $('nav').addClass('navbar-fixed-top') :
    $('nav').removeClass('navbar-fixed-top');});

我的 CSS 是:

.caret {
color: white;}

.navbar ul li a{
color: white;}

我的问题是我需要在滚动后将颜色更改为黑色并将背景更改为灰色。

感谢您的帮助。

最佳答案

试试这个:https://jsfiddle.net/0z3ck7Lg/

JS/jQuery:

$(window).bind('scroll', function() {
var navHeight = 700; 

($(window).scrollTop() > navHeight) ? 
    $('nav').addClass('navbar-fixed-top navup') :
    $('nav').removeClass('navbar-fixed-top navup');});

CSS:

body {
    height: 2000px;
    width: 100%;
}
.navup {
    background-color: grey;
}
.navup ul.nav > li > a {
    color: black;
}

我还向您的 JS 添加了另一个类 .navup,它具有您提到的 background-color/color 选项。

关于javascript - 粘性导航栏在粘性后更改 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33899545/

相关文章:

javascript - 是否可以检测浏览器选项卡是否正在播放音频?

html - 如何在 IE 中隐藏 clipPath

qt - 在Qt中滚动事件检测

javascript - 通过 javascript 禁用和启用箭头键

javascript - jQuery - 停止 ajax 请求

html - 如何删除一系列图像的内边框并在 css 中保持外边框连续?

html - 滚动位置固定快照 -15 像素

html - 向右扩展一个 div 到页面底部

html - Chrome 滚动到 anchor 标签上的错误位置

javascript - 使用 JavaScript 在网站上按下按钮