使用 jQuery 打开链接并自动滚动到特定的 div

Kim*_*rlo 1 html javascript jquery autoscroll

我有这个代码,当你打开一个链接时,它会滚动到该页面上的特定 div。

集合.html

<a id='about' href="index.html">about</a>
Run Code Online (Sandbox Code Playgroud)

索引.html

<div id='#moreInfo>contents here</div>

<script>
   $(document).ready(function(){
          $('html, body').animate({
             scrollTop: $("#moreInfo").offset().top
           }, 1000);
   })
</script>
Run Code Online (Sandbox Code Playgroud)

我的问题是每当我加载index.html 时,它总是滚动到moreInfo div。我想要的是当我在collection.html 上并单击about链接时,它将重定向到index.html然后平滑滚动到moreInfo div。

我会很感激任何答案。

Jam*_*ani 5

一个简单的方法就是让你的链接指向一个位置哈希。

<a id='about' href="index.html#moreInfo">about</a>
Run Code Online (Sandbox Code Playgroud)

然后,在您的 JavaScript 中,您可以检查此人是否来自该链接。

   $(document).ready(function(){
      if (window.location.hash == "#moreInfo") {
        $('html, body').animate({
           scrollTop: $("#moreInfo").offset().top
         }, 1000);
      }
   });
Run Code Online (Sandbox Code Playgroud)