javascript - 在滚动上添加和删除类

标签 javascript jquery html css

我正在处理一个 HTML 页面,其中有一个小导航,该导航从页面的中间位置开始。我希望导航栏在到达页面顶部时坚持到页面顶部(固定)。我的尝试是这样的:

脚本:

<script>
$(function() {
    var header = $(".clearHeader");
    $(window).scroll(function() {    
        var scroll = $(window).scrollTop();

        if (scroll >= 100) {
            header.removeClass('scrollHeader').addClass("fixedHeader");
        } else {
            header.removeClass("fixedHeader").addClass('scrollHeader');
        }
    });
});

</script>

HTML:

<div class="scrollHeader">
            <div class="row" style="background:#444;">
            <div class="container">
            <a href="#"><div class="col-sm-3 smallNav">
            Perks
            </div></a>
            <a href="#"><div class="col-sm-3 smallNav">
            Growth
            </div></a>
            <a href="#"><div class="col-sm-3 smallNav">
            Technology
            </div></a>
            <a href="#"><div class="col-sm-3 smallNav">
            Apply
            </div></a>
            </div>
            </div>
            </div>

CSS:

.scrollHeader { position: relative !important;}
.fixedHeader {position: fixed !important; }

然而,这段代码不起作用。有什么建议么?我加载了 jQuery 1.9.1。 Fiddle

最佳答案

快速浏览一下,我不确定您是否在代码开头定位了正确的对象。

var header = $(".clearHeader");

但是在您的 HTML 中,没有任何东西属于“clearHeader”类,所以这不会起作用。也许将其更改为

var header = $(".scrollHeader");

会成功吗?

编辑:同时添加 top:0px;到您的 fixedHeader 类将使导航固定在页面顶部。

fiddle :http://jsfiddle.net/5d7ymoc0/2/

奖励 super 流畅的导航滚动操作:http://jsfiddle.net/5d7ymoc0/4/

关于javascript - 在滚动上添加和删除类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26940990/

相关文章:

javascript - AppleScript 变量传递给 JavaScript

javascript - 与 'undefined` 的比较是否仍然进行全局范围查找?

javascript - 渐变跟随鼠标但没有 catch

javascript - 悬停时循环旋转

javascript - 在 Html 中有一种方法可以使链接目标知道我来自哪个页面?

javascript - phonegap 3.5.0 和 jquery 移动 1.4.3

javascript - 我的递归代码有什么问题?

jquery - 富文本编辑器属性

javascript - Chrome 中的 onblur onfocus 无限循环问题

jquery - 图像 slider ,边框为图像 : image in slider is covered by background