如何跳转到使用 JavaScript 放置在页面底部的特定 div?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12283293/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to jump to a specific div which placed bottom of page using JavaScript?
提问by Michael
I have a div which located at the bottom of the page:
我有一个位于页面底部的 div:
<div id="myDiv"></div>
I want to go to this div after performing of my JS-function. In other words, I want to have my url become myurl#myDiv
and to go to my div. But without reloading the page. How this can be done using JavaScript? Unfortunately I have not found a working solution for this issue. I am not using any JS-libraries and frameworks.
我想在执行我的 JS 功能后转到这个 div。换句话说,我想让我的网址成为myurl#myDiv
并转到我的 div。但无需重新加载页面。如何使用 JavaScript 做到这一点?不幸的是,我还没有找到解决此问题的有效解决方案。我没有使用任何 JS 库和框架。
回答by dxh
To scroll to a particular element, use, scrollIntoView, supported by IE6+ and real browsers:
要滚动到特定元素,请使用scrollIntoView,IE6+ 和真实浏览器支持:
document.getElementById('myDiv').scrollIntoView();
Check window.location.hash
on DOMReady, to see if there is a hash in the URL matching any element in your document.
检查window.location.hash
DOMReady,查看 URL 中是否存在与文档中任何元素匹配的哈希值。
If there are #myDiv
links within the document, you would need to add onclick
listeners to them, perform the scroll manually, as per the code above, and return false
to avoid following the link to #myDiv
.
如果#myDiv
文档中有链接,您需要向onclick
它们添加侦听器,按照上面的代码手动执行滚动,并return false
避免跟随链接到#myDiv
.
回答by Robert K
Try setting the window's location to that of the ID. The browser will then scroll to that element.
尝试将窗口的位置设置为 ID 的位置。然后浏览器将滚动到该元素。
window.location.hash = '#myDiv';
回答by Ben Ripley
The scrollIntoView(true)method also accepts a parameter specifies whether to align to top (true) or bottom (false).
所述scrollIntoView(真)方法还接受参数指定是否对齐到顶部(真)或底部(假)。