【问题标题】:Scroll to a specific position on a page using Javascript / Jquery [duplicate]使用Javascript / Jquery滚动到页面上的特定位置[重复]
【发布时间】:2026-01-28 20:45:02
【问题描述】:

可以使用#elementId 移动到页面上的特定位置。我怎样才能使用 Javascript / Jquery 做同样的事情。当调用一个 JS 函数时,我想滚动到该页面上的特定位置。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以使用scrollTop 向上滚动。

    你也可以使用this插件

    【讨论】:

      【解决方案2】:

      这是我在今天的New York Times front page 上使用浏览器控制台测试的示例函数:

      function scrollToElement(pageElement) {    
          var positionX = 0,         
              positionY = 0;    
      
          while(pageElement != null){        
              positionX += pageElement.offsetLeft;        
              positionY += pageElement.offsetTop;        
              pageElement = pageElement.offsetParent;        
              window.scrollTo(positionX, positionY);    
          }
      }
      
      var pageElement = document.getElementById("insideNYTimesHeader");
      scrollToElement(pageElement);
      

      【讨论】:

      • 智能编码!这正是我所需要的。谢谢!
      • 你能用这个添加平滑滚动吗?
      • @nwillo window.scrollTo({ top: positionY, left: positionX, behavior: 'smooth' });
      【解决方案3】:

      经过大量谷歌搜索后,我发现您只需要这样做:

      location.hash = "elementId"
      

      【讨论】:

      • 那真的很好,谢谢!
      • window.scrollTo(x-coord, y-coord) window.scrollTo(options)
      【解决方案4】:

      另一种解决方案是scrollIntoView()

      document.getElementById("elementID").scrollIntoView();
      

      【讨论】:

      • behavior:smooth 可用时,这将是完美的解决方案(因为现在它只是跳跃 - 这不是理想的 UX)