【问题标题】:jQuery get element offset from the top of the pagejQuery获取页面顶部的元素偏移量
【发布时间】:2017-09-16 05:25:40
【问题描述】:

我知道有 offSet().top;和位置().top;

但它们都不适用于我的情况。我必须计算从窗口顶部到绝对位置元素的距离。这些方法的问题是它们返回偏移量,不是从页面顶部,而是从包含绝对 DIV 的父元素。所以我需要跳过父容器,从页面顶部获取真正的偏移量。

一些想法?

谢谢

【问题讨论】:

    标签: jquery offset


    【解决方案1】:

    我的错!

    我是个白痴:-)

    我混淆了代码并且没有更新我应该更新的内容。我最终使用了 .offset().top;它完全符合我的需要。

    【讨论】:

      【解决方案2】:

      <!doctype html>
      <html lang="en">
      
      <head>
          <meta charset="utf-8">
          <title>offset demo</title>
          <style>
              p {
                  margin-left: 10px;
              }
          </style>
          <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
      </head>
      
      <body>
      
          <p>Hello</p>
          <p>2nd Paragraph</p>
      
          <script>
              var p = $("p:last");
              var offset = p.offset();
              p.html("left: " + offset.left + ", top: " + offset.top);
          </script>
      
      </body>
      
      </html>

      来自jQuery .offset() documentation

      .offset() 方法允许我们检索一个元素(特别是它的边框,不包括边距)相对于文档的当前位置。将此与.position() 进行对比,后者检索相对于偏移父级的当前位置。当在现有元素之上放置新元素以进行全局操作(特别是实现拖放)时,.offset() 更有用。

      【讨论】:

        猜你喜欢
        • 2021-11-20
        • 1970-01-01
        • 2021-05-08
        • 1970-01-01
        • 2021-03-15
        • 2011-07-24
        • 1970-01-01
        • 2015-03-26
        • 1970-01-01
        相关资源
        最近更新 更多