Javascript 在滚动条上添加填充

Javascript 在滚动条上添加填充,javascript,jquery,Javascript,Jquery,当用户手动滚动并到达某个类(在本例中为“内容”)时,我如何将其设置为在名为navigation的类中添加50px的顶部填充 这是我所拥有的,但它不起作用,任何帮助都是感激的 window.onscroll = function() { var scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode ||

当用户手动滚动并到达某个类(在本例中为“内容”)时,我如何将其设置为在名为navigation的类中添加50px的顶部填充

这是我所拥有的,但它不起作用,任何帮助都是感激的

window.onscroll = function() {
  var scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
  if (scrollTop >= document.getElementsByClassName("content").offsetTop) {
    document.getElementsByClassName("navigation").style.paddingTop = "50px";
  } else {
    document.getElementsByClassName("navigation").style.paddingTop = "0px";
  }
}

getElementsByClassName()
返回一个类似数组的对象,因此您需要在使用它时引用要更改的元素的索引。或者您可以为这些元素指定一个
id
并使用
getElementById()

window.onscroll=function(){
变量scrollTop=(window.pageYOffset!==未定义)?window.pageYOffset:(document.documentElement | | | document.body.parentNode | | document.body).scrollTop;
if(scrollTop>=document.getElementsByClassName(“内容”)[0].offsetTop){
document.getElementsByClassName(“导航”)[0].style.paddingTop=“50px”;
}否则{
document.getElementsByClassName(“导航”)[0].style.paddingTop=“0px”;
}
}
.content{
填充顶部:100px;
高度:300vh;
}
.导航{
背景:#eee;
}

asdf

GetElementsByCassName()
返回一个类似数组的对象,因此您需要在使用它时引用要更改的元素的索引。或者您可以为这些元素指定一个
id
并使用
getElementById()

window.onscroll=function(){
变量scrollTop=(window.pageYOffset!==未定义)?window.pageYOffset:(document.documentElement | | | document.body.parentNode | | document.body).scrollTop;
if(scrollTop>=document.getElementsByClassName(“内容”)[0].offsetTop){
document.getElementsByClassName(“导航”)[0].style.paddingTop=“50px”;
}否则{
document.getElementsByClassName(“导航”)[0].style.paddingTop=“0px”;
}
}
.content{
填充顶部:100px;
高度:300vh;
}
.导航{
背景:#eee;
}

asdf

@user2321959不客气!欢迎来到SO btw。确保对任何有帮助的答案进行投票,并在您觉得问题解决后将最佳答案标记为解决方案(通过答案复选框)。@user2321959不客气!欢迎来到SO btw。确保对任何有帮助的答案进行投票,并将最佳答案标记为解决方案(答案旁边的复选框)一旦您觉得问题解决了。