在同一页面中重用(用户单击)相同的HTML锚点(#)

时间:2019-12-18 16:28:12

标签: html

我必须在一个名为Unily的平台上开发一个html页面,该平台不允许我使用任何JS或CSS(除了内联之外)。该页面很长,我想使用锚使其导航回页面顶部。第一次单击top时,这很好,但是因为如果向下滚动并再次单击#top链接,则该URL现在为#TOP,则它无济于事。

不使用JS,有什么办法可以使它多次工作吗?

1 个答案:

答案 0 :(得分:0)

您可以使用内联JavaScript来做到这一点。

<html>
  <script type="text/javascript">
  function scrollTo(anchor) {
       location.hash = anchor;
       location.hash = "";
  }
  </script>
  <style>
      div a { display: block; min-height: 1000px; background-color: blue;}
  </style>

  <body>
    <div>
        <a id="loc1">text</a><br>
    </div>

    <a href="" onClick="scrollTo('loc1')">go to Loc 1</a>
  </body>
</html>

以上代码段在嵌入时不起作用,但是您可以轻松地将其复制到计算机上的html文件中,然后在本地浏览器中运行。它可以正常工作,甚至不修改URL,因此您可以避免在URL中使用难看的#