有元素
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。
我无法从它来自哪里获得。
答案 0 :(得分:1)
根据documentation,jQuery的offset()
不考虑边距,边框或填充。您应该确保没有任何影响结果的边距,边界或填充。
您可以使用
获取这些边距,边框和填充的值parseInt($("#sticky_bar").css("padding-top"))
及其变种。然后在代码中考虑这些值。
答案 1 :(得分:0)
尝试通过检查器应用程序确保元素上的所有值(CSS Box模型)都为0.通过Michal的小提琴并同意,问题就在您的最后。用户错误。