2014-09-19 84 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