如何使用JavaScript跳转到放置在页面底部的特定div?
我在页面底部有一个div:如何使用JavaScript跳转到放置在页面底部的特定div?,javascript,html,internet-explorer,web-applications,web,Javascript,Html,Internet Explorer,Web Applications,Web,我在页面底部有一个div: <div id="myDiv"></div> 在执行JS函数后,我想转到这个div。换句话说,我想让我的url变成myurl#myDiv,并转到我的div,但不需要重新加载页面。如何使用JavaScript实现这一点?不幸的是,我还没有找到解决这个问题的有效方法。我没有使用任何JS库和框架。要滚动到特定元素,请使用IE6+和real浏览器支持的: document.getElementById('myDiv').scrollIntoVie
<div id="myDiv"></div>
在执行JS函数后,我想转到这个div。换句话说,我想让我的url变成
myurl#myDiv
,并转到我的div,但不需要重新加载页面。如何使用JavaScript实现这一点?不幸的是,我还没有找到解决这个问题的有效方法。我没有使用任何JS库和框架。要滚动到特定元素,请使用IE6+和real浏览器支持的:
document.getElementById('myDiv').scrollIntoView();
检查DOMReady上的window.location.hash
,查看URL中是否有与文档中任何元素匹配的哈希
如果文档中有#myDiv
链接,则需要向其添加onclick
侦听器,根据上面的代码手动执行滚动,并返回false
以避免跟随链接到#myDiv
尝试将窗口的位置设置为ID的位置。然后浏览器将滚动到该元素
window.location.hash = '#myDiv';
scrollIntoView(true)方法还接受一个参数,指定是对齐到顶部(true)还是底部(false)。是的,您是对的。然而,在一次简短的测试中,它确实与
location.href
配合使用,尽管IE可能会窒息。这在最新的Firefox中对我有效,但在Chrome中不起作用。+1IE6+和真正的浏览器
:你说得对,IE 6在当今时代不再是真正的浏览器;)David的答案是更好的解决方案,任何DOM元素(有或没有ID)都可以滚动到视图中。使用我的答案,您只能滚动到页面上的ID/锚定。