由于this的答案不能真正回答问题,因此this仅适用于同一页面;
如何将用户重定向到另一个页面(来自同一域),并在单击anchor
标签时滚动到指定的元素,而不显示{{1} }中的网址?
我不需要任何平滑的动画,并且如果可能的话我想在没有JS / jQuery的情况下做到这一点。
答案 0 :(得分:0)
我认为这是最简单的解决方案。您检查最后一个URL,如果匹配,则使用JS计算元素的位置并滚动到该位置。
var fromUrl = document.referrer
if (fromUrl === "http://www.fromWhereImComming.com/site") {
var position = document.getElementById('nav-tags').getBoundingClientRect().height
scroll(0, position)
}
如果您有更多网址,则需要2个脚本。 引用页面上的一个,您要将变量保存到本地存储。 您需要将其绑定以链接到某些内容,例如,使用简单的onclick
<a href="" onclick="saveToLocalStorage()">link</a>
<script>
function saveToLocalStorage(){
localStorage.setItem("scroll", "true")
}
</script>
第二种方法与第一种方法类似,只是检查url,检查本地存储,使用并清理它。
<script>
var isScroll = localStorage.getItem("scroll");
if (isScroll === "true") {
var position = document.getElementById('nav-tags').getBoundingClientRect().height
scroll(0, position)
localStorage.removeItem("scroll")
}
</script>