Javascript 更改滚动条上div的背景色
BG颜色在开始时应为#1A1A,然后在滚动210像素后更改。我不知道我会错在哪里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) { $("
$(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。这是因为我在它上面有一个可见性开关。:)