所以基本上我想在用户稍微向下滚动后从"Header"中删除这个类,并添加另一个类来改变它的外观.

Trying to figure out the simplest way of doing this but I can't make it work.

$(window).scroll(function() {    
    var scroll = $(window).scrollTop();    
    if (scroll <= 500) {
        $(".clearheader").removeClass("clearHeader").addClass("darkHeader");
    }
}

CSS

.clearHeader{
    height: 200px; 
    background-color: rgba(107,107,107,0.66);
    position: fixed;
    top:200;
    width: 100%;   
}    

.darkHeader { height: 100px; }

.wrapper {
    height:2000px;
}

HTML

<header class="clearHeader">    </header>
<div class="wrapper">     </div>

我肯定我做错了什么.

推荐答案

$(window).scroll(function() {    
    var scroll = $(window).scrollTop();

     //>=, not <=
    if (scroll >= 500) {
        //clearHeader, not clearheader - caps H
        $(".clearHeader").addClass("darkHeader");
    }
}); //missing );

Fiddle

此外,通过删除clearHeader类,您将从元素中删除position:fixed;,以及通过$(".clearHeader") Select 器重新 Select 它的能力.我建议不要删除该类,并在其上添加一个新的CSS类来进行样式设置.

如果你想在用户返回时"重置"类添加:

$(window).scroll(function() {    
    var scroll = $(window).scrollTop();

    if (scroll >= 500) {
        $(".clearHeader").addClass("darkHeader");
    } else {
        $(".clearHeader").removeClass("darkHeader");
    }
});

Fiddle

edit:以下是缓存标头 Select 器的版本-性能更好,因为它不会每次滚动时都查询DOM,并且可以安全地删除/添加任何类到标头元素,而不会丢失引用:

$(function() {
    //caches a jQuery object containing the header element
    var header = $(".clearHeader");
    $(window).scroll(function() {
        var scroll = $(window).scrollTop();

        if (scroll >= 500) {
            header.removeClass('clearHeader').addClass("darkHeader");
        } else {
            header.removeClass("darkHeader").addClass('clearHeader');
        }
    });
});

Fiddle

Jquery相关问答推荐

使用 JQuery 在 span 标签中用逗号分隔页面上的文本

如何在外部JS文件中使用带有参数的laravel路由

将日期时间从 javascript 传递给 c# (Controller)

在 CSS3 或 jQuery 中将元素的宽度从 0% 设置为 100% 动画,它和它的包装器只需要它们需要的宽度,没有预先设置的宽度

如何使用 AJAX 和 jQuery 发布 django 表单

如何在数据表中显示空数据消息

如何使用 jQuery 搜索 JSON 树

我如何从 ACE 编辑器中获得价值?

将 CSS 应用于 jQuery 对话框按钮

使用jquery设置di​​v标签的值

如何使用 jQuery 为文本对齐动态添加样式

专业的基于 jQuery 的 Combobox 控件?

如何阻止 Chrome 进入调试模式?

从父 node 中删除所有子 node ?

将打开/关闭图标添加到 Twitter Bootstrap 可折叠项(手风琴)

在Javascript中判断isEmpty?

jQuery ajax 成功回调函数定义

使用 jQuery 获取鼠标单击图像的 X/Y 坐标

使用 jquery 禁用文本框?

textarea 的 val() 与 text()