Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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 更改滚动条上div的背景色_Javascript_Jquery_Css_Background Color - Fatal编程技术网

Javascript 更改滚动条上div的背景色

Javascript 更改滚动条上div的背景色,javascript,jquery,css,background-color,Javascript,Jquery,Css,Background Color,BG颜色在开始时应为#1A1A,然后在滚动210像素后更改。我不知道我会错在哪里 $(document).ready(function(){ var scroll_pos = 0; $(document).scroll(function() { scroll_pos = $(this).scrollTop(); if(scroll_pos > 210) { $("

BG颜色在开始时应为#1A1A,然后在滚动210像素后更改。我不知道我会错在哪里

$(document).ready(function(){       
        var scroll_pos = 0;
        $(document).scroll(function() { 
            scroll_pos = $(this).scrollTop();
            if(scroll_pos > 210) {
                $("#left-panel").css('background-color', '#1A1A1A');
            } else {
                $("#left-panel").css('background-color', 'red');
            }
        });
    });

您需要使用
id=“left panel”
将滚动事件绑定到
div
,因为该元素上有滚动条(即带有
溢出:auto
的元素和大于自身的子元素)

绑定到
文档
窗口
将不起作用,因为在这种情况下,它们不是滚动条的元素

工作现场演示:

$(文档).ready(函数(){
var scroll_pos=0;
$(“#左面板”)。滚动(函数(){
scroll_pos=$(this).scrollTop();
如果(滚动位置>210){
$(“#左面板”).css('background-color','#1A1A1A');
}否则{
$(“#左面板”).css('background-color','red');
}
控制台日志(滚动位置);
});
});
#左面板{
位置:固定;
排名:0;
左:0;
宽度:80%;
身高:100%;
z指数:2;
溢出:自动;
高度:2000px;
}

内容

啊,我明白了。非常感谢。如何在页面加载开始时使面板变为红色。现在它只是默认的白色。您可以通过如下CSS将其设置为红色:
#left panel{background color:red}
(首选),也可以通过复制
文档顶部的以下行在JavaScript中设置它。ready
函数:
$(“#left panel”).CSS('background-color',red')。如果我添加一个转换,它会闪烁。@user2252219“添加转换”是什么意思?啊,nvm。这是因为我在它上面有一个可见性开关。:)