我正在使用这个模板,我希望导航在用户开始滚动时改变颜色 . 我一直在玩jQuery,到目前为止我已经完成了这些功能 . 但!我希望颜色能够变成非常特定的颜色,在这种情况下是HEX或RGBA颜色,而不仅仅是标准名称颜色(即蓝色,红色,黑色等) . 这是我的代码
$(document).ready(function() {
var a = $(".navbar").offset().top;
$(document).scroll(function(){
if($(this).scrollTop() > a)
{
$('.navbar').css({"background":"black"});
} else {
$('.navbar').css({"background":"none"});
}
});
});
我用.css jquery选择器更改.navbar的地方,如何将背景颜色更改为十六进制或rgba而不仅仅是黑色或红色等等?我真的很难过 . 代码运行良好,一旦用户滚过 Headers ,它会将颜色从透明变为黑色,但我希望黑色是这个十六进制代码#04B297,我不确定如何继续 . 有什么指针吗?
提前谢谢了!
4 回答
首先,我会将
background
的css声明更改为background-color
. 使用background
,您正在更改您可能拥有的任何其他背景属性background-size
,background-position
等 .由于您只是尝试从预定义的CSS颜色转换为HEX颜色,您只需将值放在内部,就像使用
black
一样 .Note: 您还需要将您的else块中的css声明从
none
更改为transparent
,因为none
不是正确的背景颜色值 .我建议将这些颜色状态分配给它们自己的修饰符类 . 你获得了一点性能提升,而且它更容易被管理 . 有了这个,您可以简单地使用
toggleClass()
来切换深色背景颜色 . 第二个参数是它用于确定何时切换的基于布尔值 .使用prop()而不是Css
只在您编写内联css的位置更改脚本
更改
上面提到的一些好主意 . 另一种方法是使用导航栏:
然后它会向您的用户显示您在应用程序/网站上 they 的意图 .
注意锚标记上的 #page-top 路由 .
这就是路线将带您前往的地方 . 如果您的URL中包含 #page-top ,则页面将自动滚动到那里,如果您在JQuery中对锚标记执行click事件,则会追溯,然后它将移动到该位置 .
对于颜色,您可以使用表示不同颜色的CSS类,然后在Jquery中添加/删除css属性 .
这是GitHub repository中的一个工作示例