我想知道是否可以检测具有 css 属性 position: fixed 的元素;滚动时越过另一个元素。我的目标是防止固定位置的 div 在不同高度的页面上越过静态定位的页脚,而且在较小的屏幕上查看时页脚高度也可能会发生变化。
理想情况下,固定/可滚动的 div 应该位于距离窗口底部 20px 的位置,然后当用户滚动到页脚时,它会保持在页脚上方 20px 的位置。
最佳答案
$(window).scroll(function () {
if ($(".fixedposition").offset().top < ($(".footer").offset().top - 30)) {
$(".fixedposition").css("top", "30px");
$(".fixedposition").css("display", "block");
} else {
$(".fixedposition").css("display", "none");
}
});
在这里查看 fiddle :http://jsfiddle.net/flish/T6x4R/
当然,除了为固定的 div 设置 display:none;
之外,您可能还应该做其他事情
关于javascript - 检测到位置 : fixed; element crosses over another element 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24066783/