Jquery 页面滚动时更改标题背景颜色
我一直在寻找解决方案,但我无法让它发挥作用 当用户开始滚动页面时,我希望我的页面标题从透明背景变为白色背景 HTML代码是:Jquery 页面滚动时更改标题背景颜色,jquery,html,css,colortransform,Jquery,Html,Css,Colortransform,我一直在寻找解决方案,但我无法让它发挥作用 当用户开始滚动页面时,我希望我的页面标题从透明背景变为白色背景 HTML代码是: <div class="header"> <div class="topbar"></div> <div class="sitelogo"></div> <nav id="navigation"> <ul> <li id
<div class="header">
<div class="topbar"></div>
<div class="sitelogo"></div>
<nav id="navigation">
<ul>
<li id="twitter"><a href="http://www.twitter.com/iamdanmorris"><em>Twitter</em></a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#blog">Blog</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Home</a></li>
</ul>
</nav>
<div style="clear:both;"></div>
</div>
小提琴:
如果用户从顶部滚动超过50像素,这将向元素添加背景色:#fff
这将添加一个类“active”,这样您就可以在css中设置它的样式(更易于维护)
编辑:
$(function() {
$(window).on("scroll", function() {
if($(window).scrollTop() > 50) {
$(".header").addClass("active");
} else {
//remove the background property so it comes transparent again (defined in your css)
$(".header").removeClass("active");
}
});
});
还有你的css:
.active { background-color: #fff}
确保您还添加了此css规则,否则背景颜色不会改变我没有尝试过,没有。请将此脚本放在页面底部,以确保元素已加载。您是否在css中创建了一个用于设置活动标题样式的类?(例如:.active{background color:#fff})如果您还没有添加此小代码,如果它不起作用,请查看编辑。我现在唯一的问题是,在滚动时,我希望在透明背景上有白色导航文本,在白色背景上有灰色文本。你觉得你能帮忙吗@sakesalverda.header{color:#fff;background color:transparent;}和.header.active{color:#777;background color:#fff}如果我的完整答案有帮助,请标记我的答案,这样讨论就结束了
$(function() {
$(window).on("scroll", function() {
if($(window).scrollTop() > 50) {
$(".header").addClass("active");
} else {
//remove the background property so it comes transparent again (defined in your css)
$(".header").removeClass("active");
}
});
});
.active { background-color: #fff}