Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让jQuery更改滚动条上的导航颜色?_Javascript_Jquery_Scroll_Colors_Navigation - Fatal编程技术网

Javascript 如何让jQuery更改滚动条上的导航颜色?

Javascript 如何让jQuery更改滚动条上的导航颜色?,javascript,jquery,scroll,colors,navigation,Javascript,Jquery,Scroll,Colors,Navigation,我正在处理这个模板,我希望一旦用户开始滚动,导航就会改变颜色。我一直在使用jQuery,到目前为止,我已经完全掌握了它的功能。但是我希望颜色能够更改为非常特定的颜色,在本例中为十六进制或RGBA颜色,而不仅仅是标准名称颜色(即蓝色、红色、黑色等)。下面是我的代码 $(document).ready(function() { var a = $(".navbar").offset().top; $(document).scroll(function

我正在处理这个模板,我希望一旦用户开始滚动,导航就会改变颜色。我一直在使用jQuery,到目前为止,我已经完全掌握了它的功能。但是我希望颜色能够更改为非常特定的颜色,在本例中为十六进制或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,而不仅仅是黑色或红色或诸如此类的颜色?我真的被难住了。代码运行良好,一旦用户滚动过标题,它的颜色将从透明变为黑色,但我希望黑色是这个十六进制代码#04B297,我不确定如何继续。有什么建议吗


非常感谢

首先,我要将css声明从
background
更改为
background color
。使用
background
可以更改任何其他背景属性,如
background size
background position

由于您只想从预定义的CSS颜色转换为十六进制颜色,因此只需像使用
黑色时那样将值放入其中即可

注意:您还需要将else块中的css声明从
none
更改为
transparent
,因为
none
不是正确的背景色值

$(文档).ready(函数(){
var a=$(“.navbar”).offset().top;
$(文档)。滚动(函数(){
if($(this).scrollTop()>a){
$('.navbar').css({“背景色”:“#04B297”});
}否则{
$('.navbar').css({“背景色”:“透明”});
}
});
});
html,
身体{
高度:1000px;
}
navbar先生{
边框:1px纯黑;
高度:60px;
}
.navbar——黑暗{
背景色:#04B297
}

使用prop()而不是Css

  $(document).ready(function() {
            var a = $(".navbar").offset().top;

            $(document).scroll(function(){
                if($(this).scrollTop() > a)
                {   
                   $('.navbar').prop({"background","#FFF000"});
                } else {
                   $('.navbar').prop({"background","#333333"});
                }
            });
        });

仅更改编写内嵌css的脚本

$('.navbar').css({"background":"black"});
改变

background=>background-color

上面提到的一些好主意。另一种方法是使用导航栏:

你的路线

然后,它会向您的用户显示您的意图,即他们在您的应用程序/网站上的位置

 <a class="navbar-brand page-scroll" href="#page-top">
                <img src="img/conceptco_home_logo.png" />
            </a>

请注意锚定标记上的#页面顶部路线

<body id="page-top">

这就是路线将带你去的地方。如果您的URL中有#page top,页面将自动滚动到那里,如果您在JQuery中对锚定标记执行单击事件,则页面将移动到该位置

对于颜色,您可以拥有一个表示不同颜色的CSS类,然后在Jquery中添加/删除CSS属性


下面是一个a

Hey中的工作示例。我的回答解决了你的问题吗?这很有魅力,虽然不能让css中的类工作,但是jQuery本身是完美的!非常感谢!很高兴听到!别忘了将此标记为正确。