Html 如何在单击锚定后刷新页面并在顶部加载,忽略锚定并重置回顶部?

Html 如何在单击锚定后刷新页面并在顶部加载,忽略锚定并重置回顶部?,html,scroll,refresh,anchor,Html,Scroll,Refresh,Anchor,我有一个带有几个锚的页面。当用户单击锚定时,锚定起作用,用户被带到正确的位置 如果用户尝试刷新页面,它会在URL窗口中保留锚定ID,因此在刷新时不会返回页面顶部 我认为在刷新时返回页面顶部会更方便用户 我将如何实现这一点 我的页面目前主要使用引导、css、jquery、javascript和php 我想我需要设置一些代码,这样在单击锚之后,它会从url窗口中删除锚,这样如果有人刷新,他们只会刷新没有锚的初始页面状态,但我不知道如何开始。或者我想得太多了,有一种方法可以在刷新页面时始终转到页面顶部

我有一个带有几个锚的页面。当用户单击锚定时,锚定起作用,用户被带到正确的位置

如果用户尝试刷新页面,它会在URL窗口中保留锚定ID,因此在刷新时不会返回页面顶部

我认为在刷新时返回页面顶部会更方便用户

我将如何实现这一点

我的页面目前主要使用引导、css、jquery、javascript和php

我想我需要设置一些代码,这样在单击锚之后,它会从url窗口中删除锚,这样如果有人刷新,他们只会刷新没有锚的初始页面状态,但我不知道如何开始。或者我想得太多了,有一种方法可以在刷新页面时始终转到页面顶部,而不管是否有锚定。我不太懂代码

现在我的代码是这样的

我的一个锚的示例:


<a class="hoverlink" href="#firefighter"><li style="float:left; margin-right:1em; color:white; background-color:red" class="appao-btn nav-btn">Fire Fighter</li></a>

.anchor:target { height:200px; display: block; margin-top:-2em; visibility: hidden;}

我的代码的实际结果:页面刷新停留在锚定位置

所需结果:页面刷新转到页面顶部


经过一些搜索,我找到了一个几乎适合我的解决方案:

<script>
window.onbeforeunload = function () {
  window.scrollTo(0, 0);
}
</script>

window.onbeforeunload=函数(){
滚动到(0,0);
}
但它产生了一种闪烁的效果,看起来并不像我的示例站点那样好

任何人都知道如何删除“闪烁”?

您可以尝试此操作(使用.some anchor是指向页面中某些目的地的所有标记的类)

“return false;”或event方法将防止页面闪烁。正如我所观察到的那样,这并没有使#指向URL,因此刷新不是一个问题

其他有用的答案:

您可以尝试(使用.some anchor是指向页面中某些目的地的所有标记的类)

“return false;”或event方法将防止页面闪烁。正如我所观察到的那样,这并没有使#指向URL,因此刷新不是一个问题


其他有用的答案:

使用锚定标记中的(
#someLink
)导航到页面内容是。大多数(如果不是所有)web浏览器中的标准实现是将片段添加到地址栏。该片段是URL的一部分,因此,当页面刷新时,浏览器将滚动到具有该ID的元素。大多数用户将熟悉这种行为,即使他们不了解它是如何或为什么这样工作的。出于这个原因,我建议不要绕过这种行为

但是,如果这是绝对必要的,那么实现您想要的结果的唯一方法就是不使用URL片段进行导航,而是使用JavaScript,因此首先不要将片段放在URL中。看起来该方法可能满足您的要求。而不是
你会用
单击我

或者更好,在外部JS文件中实现这一点。如果由于元素没有
href
属性而遇到问题,则始终可以添加一个空片段
href=“#”

,使用锚定标记中的(
#someLink
)导航到页面内容是导航的核心部分。大多数(如果不是所有)web浏览器中的标准实现是将片段添加到地址栏。该片段是URL的一部分,因此,当页面刷新时,浏览器将滚动到具有该ID的元素。大多数用户将熟悉这种行为,即使他们不了解它是如何或为什么这样工作的。出于这个原因,我建议不要绕过这种行为

但是,如果这是绝对必要的,那么实现您想要的结果的唯一方法就是不使用URL片段进行导航,而是使用JavaScript,因此首先不要将片段放在URL中。看起来该方法可能满足您的要求。而不是
你会用
单击我
或者更好,在外部JS文件中实现这一点。如果由于元素没有
href
属性而遇到问题,则始终可以添加空片段
href=“#”

<script>
window.onbeforeunload = function () {
  window.scrollTo(0, 0);
}
</script>
$('.some-anchor').click(function() {
    var target = $(this).attr("href");
    $('html, body').animate({
        scrollTop: $("" + target).offset().top
    }, 1000);
    return false;
  });