解释一下像素的差异?

时间:2013-07-03 00:36:08

标签: javascript jquery

有元素

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。

我无法从它来自哪里获得。

2 个答案:

答案 0 :(得分:1)

根据documentation,jQuery的offset()不考虑边距,边框或填充。您应该确保没有任何影响结果的边距,边界或填充。

您可以使用

获取这些边距,边框和填充的值
parseInt($("#sticky_bar").css("padding-top"))

及其变种。然后在代码中考虑这些值。

答案 1 :(得分:0)

尝试通过检查器应用程序确保元素上的所有值(CSS Box模型)都为0.通过Michal的小提琴并同意,问题就在您的最后。用户错误。