我正在尝试计算网站页脚和侧边栏之间的距离(它具有可变边距顶部属性,因为它模仿固定位置元素。)
在较小的分辨率下,侧边栏将在页脚顶部滚动。为了解决这个问题,我希望隐藏侧边栏,当它是来自页脚的X px,然后一旦它在页脚上方滚动X px后再显示它。
我已经尝试了下面的代码(在窗口滚动功能中),但这会返回一个负数&没有按预期工作。
distance = sidebar.offset().top - footer.offset().top;
console.log(distance);
if ( distance > -500) {
sidebar.fadeOut('fast');
} else {
sidebar.fadeIn('fast');
}
答案 0 :(得分:1)
试试这个。
$(window).scroll(function() {
//changed order, now you won't get negative number
distance = (footer.offset().top - footer.outerHeight() ) - sidebar.offset().top;
if( distance <= 50 ) // 50 or any distance you want
sidebar.fadeOut(500);
else
sidebar.fadeIn(500);
});
在$(window).scroll()
中添加了该部分,以便每次滚动时都会对其进行检查。