Javascript 如何在元素上使用滚动条事件

Javascript 如何在元素上使用滚动条事件,javascript,html,css,dom,events,Javascript,Html,Css,Dom,Events,当滚动条位于某个元素旁边时,我想更改该元素的背景。我该怎么做? 我使用了“滚动”事件,但它不起作用 <div id="skill">This is Skill</div> var about = document.getElementById('about'); about.addEventListener('scroll', function() { about.style.background='green'; }); 我从你们的问题中猜到的是,你们想在页面

当滚动条位于某个元素旁边时,我想更改该元素的背景。我该怎么做? 我使用了“滚动”事件,但它不起作用

<div id="skill">This is Skill</div>


var about = document.getElementById('about');
 about.addEventListener('scroll', function() {
 about.style.background='green';
});

我从你们的问题中猜到的是,你们想在页面滚动时添加背景

var about=document.getElementById('about');
addEventListener('scroll',function(){
about.style.background='green';
});
正文{
高度:800px;
}

这就是技巧

您可能正在滚动HTML正文(页面),而不是项目本身。这就是为什么卷轴甚至没有为about container触发的原因。我认为,您应该为该div指定固定的高度,并在property中添加滚动css。您的逻辑是正确的,但是您正在检查实际的
about
元素上的滚动,而我假设您正在滚动主页滚动条。因此,将代码中的滚动条作为目标:
窗口。addEventListener(“scroll”,doSomething()};
是的,我的意思是当我使用页面滚动条时。@Lucadenardi我想你必须澄清“当滚动条位于某个元素之外时,我希望更改该元素的背景”的意思这是否意味着当在屏幕的中间部分变得可见时?当它在屏幕的中间时,我认为这个问题不够清楚。
about.addEventListener('click', function() {
 about.style.background='green'});