1

有元素

var stickyBar=$('#sticky_bar');

哪个有负载,所以我得到顶部和文档顶部position:fixed之间的距离:stickyBar

var initial=stickyBar.offset().top - $(window).scrollTop();

但是,当我这样做时:

$(window).scroll(function(){
alert(initial+",  " + (stickyBar.offset().top - $(window).scrollTop()))
});

这些值是不同的:差异是 61px。

我无法从它的来源获得。

4

2 回答 2

1

根据文档,jQueryoffset()不考虑边距、边框或填充。您应该确保没有任何影响结果的边距、边框或填充。

您可以通过使用获取这些边距、边框和填充的值

parseInt($("#sticky_bar").css("padding-top"))

及其变体。然后在您的代码中考虑这些值。

于 2013-07-03T00:42:30.853 回答
0

Try making sure through an inspector application that all values on the element (CSS Box Model) are 0. Went through Michal's fiddle and agree, the problem is somewhere on your end. User error.

于 2013-07-03T00:47:01.280 回答