我正在尝试在我的应用程序中使用scrollIntoView()
,但因为我有一个顶部固定栏,当我使用scrollIntoView()时,元素将滚动到固定栏后面.
这意味着当我尝试将一些元素显示给用户时,通过将元素滚动到可见区域,它将被滚动,但是对于另一个看不见的东西,就是这个固定的条形图.
按照我正在尝试做的一个例子:
let element = document.getElementsByClassName('second-element')[0];
element.scrollIntoView();
.fixed-element{
height: 30px;
width: 100%;
background-color:black;
position:fixed;
}
.parent-element {
width: 100%;
height: 40000px;
background-color:blue;
}
.element {
width: 100%;
height:100px;
background-color: yellow;
margin-top:10px;
}
.second-element{
width: 100%;
background-color: red;
height:200px;
}
最佳答案
您可以使窗口scrollTo x位置0和y位置元素的offsetTop减去固定元素的offsetHeight.
JSFiddle与您的代码:http://jsfiddle.net/3sa2L14k/
.header{
position: fixed;
background-color: green;
width: 100%;
top: 0;
left: 0;
right: 0;
}
html,body{
height: 1000px;
}
#toBeScrolledTo{
position: relative;
top: 500px;
}