我有一个位于页面底部的 div:
<div id="myDiv"></div>
我想在执行完我的 JS 函数后转到这个 div。换句话说,我想让我的 url 变成myurl#myDiv
并转到我的 div。但无需重新加载页面。如何使用 JavaScript 做到这一点?不幸的是,我还没有找到解决这个问题的有效解决方案。我没有使用任何 JS 库和框架。
我有一个位于页面底部的 div:
<div id="myDiv"></div>
我想在执行完我的 JS 函数后转到这个 div。换句话说,我想让我的 url 变成myurl#myDiv
并转到我的 div。但无需重新加载页面。如何使用 JavaScript 做到这一点?不幸的是,我还没有找到解决这个问题的有效解决方案。我没有使用任何 JS 库和框架。
要滚动到特定元素,请使用IE6+ 和真实浏览器支持的scrollIntoView:
document.getElementById('myDiv').scrollIntoView();
检查window.location.hash
DOMReady,查看 URL 中是否有与文档中的任何元素匹配的哈希。
如果文档中有#myDiv
链接,您需要向onclick
它们添加侦听器,手动执行滚动,按照上面的代码,并return false
避免跟随链接到#myDiv
.
尝试将窗口的位置设置为 ID 的位置。然后浏览器将滚动到该元素。
window.location.hash = '#myDiv';
scrollIntoView (true)方法还接受一个参数,指定是对齐到顶部 (true) 还是底部 (false)。