滚动更改标题背景

时间:2015-02-07 13:44:27

标签: javascript header scroll

我试图在滚动时更改页面的标题背景。

我使用下面的代码。 JS正在工作,当滚动大于100px时,我可以看到类.not-transparent被添加到HMTL中的元素。问题是,该类不会随后在CSS中被调用。

这是HTML:

<header>
    <div id="logo">logo</div>
    <div id="nav-wrapper">
        <nav>
            nav
        </nav>
    </div>
    <div class="clear"></div>
</header>
<script>
$(window).on("scroll", function () {
    if ($(this).scrollTop() > 100) {
        $("header").addClass("not-transparent");
    }
    else {
        $("header").removeClass("not-transparent");
    }
});
</script>

这里是CSS

header {
    width:100%;
    position:fixed;
    top:0px;
    z-index:3;
}
header.not-transparent {
    background: #252525;    
}

1 个答案:

答案 0 :(得分:3)

你也可以使用css属性作为。

 <script>
 $(window).on("scroll", function() {
    if ($(this).scrollTop() > 100) {
       $("header").css("background","#252525");
    }
    else {
       $("header").css("background","#fff");
    }
 });
 </script>

确保您的子div背景设置为透明,以便您可以看到父div背景。