Javascript 如何响应地更改滚动条的颜色?

Javascript 如何响应地更改滚动条的颜色?,javascript,html,jquery,css,scrollbar,Javascript,Html,Jquery,Css,Scrollbar,我有一个网站,它会在滚动一定数量的像素后改变滚动条的颜色。问题是,如果我将视图更改为“移动”或将显示器放大到150%,它不会在应该更改的位置更改颜色。我需要找出如何改变滚动条的颜色,一旦它已经滚动到页面的某一部分响应 .jumbotron{ 背景图像:线性梯度(135度,#e4e158 0%,#e42222 100%)!重要; z指数:100; 颜色:黑色!重要; } .img{ 边框样式:实心; 边框宽度:10px; 边框颜色:黑色; 宽度:50%; } 要滚动的东西 要滚动的东西 要滚动

我有一个网站,它会在滚动一定数量的像素后改变滚动条的颜色。问题是,如果我将视图更改为“移动”或将显示器放大到150%,它不会在应该更改的位置更改颜色。我需要找出如何改变滚动条的颜色,一旦它已经滚动到页面的某一部分响应

.jumbotron{
背景图像:线性梯度(135度,#e4e158 0%,#e42222 100%)!重要;
z指数:100;
颜色:黑色!重要;
}
.img{
边框样式:实心;
边框宽度:10px;
边框颜色:黑色;
宽度:50%;
}

要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西
正如你可以看到的,我有两个部分,我想让滚动条的颜色改变,一旦滚动条的位置刚刚击中第二部分。
如下图所示:
要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西
要滚动的东西

您可以根据元素相对于窗口的位置,使用
.getBoundingClientRect()
对其进行更改。在下面的代码段中,一旦section1到达页面底部,滚动条就会改变颜色。如果不需要底部,可以将其设置为页面中的特定点

根据评论更新:

let body,html;
window.addEventListener('resize',()=>{
body=document.querySelector(“body”).getBoundingClientRect();
html=document.documentElement;
changeBar()
});
window.onload=()=>{
body=document.querySelector(“body”).getBoundingClientRect();
html=document.documentElement;
changeBar()
};
函数changeBar(){
window.addEventListener(“滚动”,()=>{
if(window.scrollY+window.innerHeight/2>body.height/2){
html.style.scrollbarColor=“蓝紫色”;
}否则{
html.style.scrollbarColor=“红绿色”;
}
});
}
html{
滚动条颜色:红绿色;
溢出:滚动;
}
#第一节{
字号:40pt;
}
#半路{
位置:绝对位置;
最高:50%;
宽度:20px;
高度:20px;
背景:红色;
}
标题
学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益普生学识益普生学识益普生学识益普生学识益普生学识益普生学识


学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益普生学识益普生学识益普生学识益普生学识益普生学识益普生学识


学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益普生学识益普生学识益普生学识益普生学识益普生学识益普生学识




学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益普生学识益普生学识益普生学识益普生学识益普生学识益普生学识


学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益普生学识益普生学识益普生学识益普生学识益普生学识益普生学识

学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益普生学识益普生学识益普生学识益普生学识益普生学识益普生学识


学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益普生学识益普生学识益普生学识益普生学识益普生学识益普生学识

学识益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智