Javascript 从Java脚本更改CSS内容
如果我向下滚动到网站的某个位置,如何更改css文件中的背景色Javascript 从Java脚本更改CSS内容,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如果我向下滚动到网站的某个位置,如何更改css文件中的背景色 $(文档).ready(函数(){ var scroll_pos=0; $(文档)。滚动(函数(){ scroll_pos=$(this).scrollTop(); 如果(滚动位置>260){ $('span[class=“icon bar”]”)css('background-color','#2CA8FF'); }否则{ $('span[class=“icon bar”]”)。css('background-color','wh
$(文档).ready(函数(){
var scroll_pos=0;
$(文档)。滚动(函数(){
scroll_pos=$(this).scrollTop();
如果(滚动位置>260){
$('span[class=“icon bar”]”)css('background-color','#2CA8FF');
}否则{
$('span[class=“icon bar”]”)。css('background-color','white');
}
});
});代码>
.navbar-transparent.navbar-toggle.icon-bar[class*=“navbar ct”].navbar-toggle.icon-bar{
背景色:白色!重要;
}
切换导航
将代码更改为:
$('span.icon-bar').css('background-color', 'white');
您正在使用!重要信息
css文件中的声明。这增加了特异性,这可能导致:
.icon-bar {
background-color: white !important;
}
…为了战胜这一点:
$('span[class="icon-bar"]').css('background-color', '#2CA8FF');
您可以快速尝试删除!重要信息
,查看这是否解决了问题。是的,您在这里遇到的问题是针对您试图建立的样式的特定性(因为引导)。我在这里已经做了好几次你想做的事了,通常我会结束写作!重要的是颜色改变后。我使用的常规解决方案是创建两个类别:
.blue {
background-color: #2CA8FF !important;
}
.white {
background-color: #FFF !important;
}
然后在jquery中指定类而不是样式:
if(scroll_pos > 260) {
$('span.icon-bar').addClass('blue');
} else {
$('span.icon-bar').removeClass('blue');
}
最后,正如你所看到的,我没有和怀特合作过。这是因为我直接将其分配给html中的元素:
<span class="icon-bar" class="white"></span>
<span class="icon-bar" class="white"></span>
<span class="icon-bar" class="white"></span>
默认情况下,所有的类都是白色的,当您达到260时,它们会变成蓝色,因为这是最后一个指定的类。可能需要稍微更改一下代码,但它对我很有效…我真的建议使用选择器,例如$('nav.icon bar')
或类似内容,并保存到变量中,以避免jQuery在每个滚动
事件上搜索整个文档中的每一个
。当您最初将.navbar透明类设置为静态颜色时,为什么要尝试使用它??navbar transparent将有自己的引导css属性,可能会干扰您的自定义css。感谢您的帮助。我现在不知道,为什么我没有看到这个^^