如何使用CSS/JS滚动到特定元素
How to scroll to particular element using CSS/JS
这是伪代码。我的要求是,当我点击最后一个li
元素时,会显示其中的一个hidden div
。但我需要scroll
才能看到它。所以当我用id=hello
点击li
时,窗口应该会自动向下滚动到那个div?
首选使用CSS,然后使用JS,不使用jQuery。
var ele=document.getElementById('hello');
ele.addEventListener("click", function (event) {
document.getElementById("hidden-div").style.display="block";
},false);
.fixed-height-div{
height:120px;
overflow-y:scroll;
}
.fixed-height-div > li{
background-color:lightblue;
list-style-type: none;
}
<div class="fixed-height-div">
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
<li>F</li>
<li>G</li>
<li id="hello">H
<div id="hidden-div" style="display:none;">
This should be displayed after click<br><br>
And the scroll should come to this screen.
</div>
</li>
显示/展开隐藏的div后,调用li
元素的scrollIntoView
函数。
这不需要jQuery。
function showIt(elementId) {
var el = document.getElementById(elementId);
el.scrollIntoView(true);
}
欲了解更多信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollIntoView
您可以使用锚点重定向window.location = currentlocation + "#" + id
,也可以使用jquery lib-scrollTo
编辑:我读到它不可能是jQuery。试试这个:
ele.addEventListener("click", function (event) {
document.getElementById("hidden-div").style.display="block";
window.location.href = window.location.href + "#hidden-div";
},false);
var ele=document.getElementById('hello');
ele.addEventListener("click", function (event) {
document.getElementById("hidden-div").style.display="block";
var top = this.offsetTop;
this.parentNode.scrollTop += top; //Container div scroll
document.body.scrollTop += top; //Body scroll
},false);
相关文章:
- 指示禁用元素滚动行为并改为滚动页面
- 在某个点停止固定元素滚动
- jQuery 航点在元素滚动到视图中时添加类
- 到达(窗口)上的中间元素.滚动
- 当元素滚动出屏幕时更改元素位置
- jQuery-将元素滚动到屏幕中间,而不是使用锚链接滚动到顶部
- 我想为一个元素添加一个事件监听器,当相应的元素滚动到视图中时,该监听器就会被激发
- 将元素滚动到页面底部的视图中
- fadeIn元素滚动
- 当光标到达底部时,有没有办法防止contentEditable元素滚动
- 固定元素滚动到Div
- 如何平滑地防止固定元素滚动经过指定元素
- 将所有HTML元素滚动到视图中
- 如果浏览器窗口高度为X,并且元素滚动到其中的X点,则合并条件
- 使用isroll4将最后一个元素滚动到第一个元素的开始位置
- 如何显示单独的锂元素滚动基于窗口的高度
- 根据所单击的元素滚动到页面上的相同位置
- 元素滚动的同时滚动另一个
- 修改jQuery.ScrollTo插件将元素滚动到页面中心(垂直/水平)或尽可能靠近中心
- 我如何检测一个元素滚动到视窗