2014-09-19 77 views
0

我想要使用此代碼獲取元素的頂部偏移量,但它不工作它獲得相同的位置,每次是108,並且不會改變,雖然邊緣頂部是100px的僅得到窗口滾動div的頂部偏移

http://jsfiddle.net/np16jm3o/1/

$(function() { 
     $(window).scroll(function() { 
      var container= $("#container"); 
      console.log(container.offset().top); 
     }); 
    }); 

HTML代碼:

<div id="container" style="float: left; width: 100%; background: #ccc; height: 1200px; margin-top: 100px;"> 

回答

1

偏移函數返回相對於文檔的位置,所以這不僅噸他抵消了元素本身,也抵消了其父元素。 當你在你的小提琴中看你的例子,你可以看到身體也有8px的餘量,從而導致你已經看到的108px。

如果您確實想獲得相對於其父項的偏移量,則可以減去父項的偏移量。如果要獲取相對於頁面的位置,您還可以使用.scrollTop函數獲取已經滾動的高度。

+0

感謝您的解釋,但如何獲得根據頁面的偏移而不是文檔,所以它被改變 – 2014-09-19 15:56:43