如何使用JavaScript跳转到页面底部的特定div?

Mic*_*ael 5 html javascript internet-explorer web-applications web

我有一个位于页面底部的div:

<div id="myDiv"></div>
Run Code Online (Sandbox Code Playgroud)

我想在执行JS函数后转到这个div.换句话说,我想让我的网址变成myurl#myDiv我的div.但是没有重新加载页面.如何使用JavaScript完成此操作?不幸的是,我还没有找到解决这个问题的工作方案.我没有使用任何JS库和框架.

Dav*_*und 23

要滚动到特定元素,请使用IE6 +和真实浏览器支持的scrollIntoView:

document.getElementById('myDiv').scrollIntoView();
Run Code Online (Sandbox Code Playgroud)

检查window.location.hashDOMReady,查看URL中是否存在与文档中任何元素匹配的哈希值.

如果#myDiv文档中有链接,则需要向onclick它们添加侦听器,根据上面的代码手动执行滚动,并return false避免链接到#myDiv.

演示

  • +1 `IE6+ 和真正的浏览器`:你是对的,IE 6 在_当今时代_不再是一个真正的浏览器;) (2认同)

Rob*_*t K 8

尝试将窗口的位置设置为ID的位置.然后浏览器将滚动到该元素.

window.location.hash = '#myDiv';
Run Code Online (Sandbox Code Playgroud)