[英]Navigate with anchor without changing browser url and without javascript
[英]Can you navigate to an anchor in the browser via JavaScript without updating the URL?
JavaScript浏览器中是否有一种方法可以用来导航到页面上的锚点,但不更新URL片段?
例如,
HTML:
<h1 id="GettingStarted">Getting Started</h1>
JavaScript的:
var anchor = "Getting Started";
window.scrollToHTMLElement(anchor);
我不想更新URL片段。
之前的网址:
http://www.example.com/mypage.html
URL之后:
您可以使用scrollIntoView
document.getElementById('GettingStarted').scrollIntoView();
要么
document.getElementById('GettingStarted').scrollIntoView({
behavior: 'smooth'
});
如果您想要平滑的动画。
查看这个小提琴作为示例。
正如乔纳森· scrollIntoView()
Jonathan Heindl)指出的那样, scrollIntoView()
可以解决您的问题。 更具体地讲,你将有你想要去一个元素,一个按钮(或任何你想要的,只是不是a
标签):
<h1 id="GettingStarted">Getting Started</h1>
<button type="button" id="trigger">Go</button>
然后是一些简单的javascript代码:
document.getElementById('trigger').addEventListener('click', function(){
var anchor = document.getElementById('GettingStarted');
anchor.scrollIntoView();
})
示例结果如下:
document.getElementById('trigger').addEventListener('click', function(){ var anchor = document.getElementById('GettingStarted'); anchor.scrollIntoView(); })
<h1 id="GettingStarted">Getting Started</h1> <div style="min-height: 150vh"></div> <button type="button" id="trigger">Go</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.