检测当position: fixed;元素穿过另一个元素时。

6
我想知道是否可能在滚动时检测具有css属性position: fixed;的元素何时越过另一个元素。我的目标是防止固定位置的div跨越高度不同的页面上静态定位的页脚,此外,在较小的屏幕上查看时,页脚的高度可能会发生变化。
理想情况下,固定/可滚动的div将被定位在窗口底部20px处,然后当用户滚动到页脚时,它将保持在距离页脚20px的位置。

你不能总是为页脚留出空间吗?固定元素应该定位在 top: 0; bottom: 0(=100% 高度)吗?固定元素是用于什么的(广告横幅、侧边栏菜单等)?(XY 问题) - try-catch-finally
1个回答

3
$(window).scroll(function () {
    if ($(".fixedposition").offset().top < ($(".footer").offset().top - 30)) {
        $(".fixedposition").css("top", "30px");
        $(".fixedposition").css("display", "block");
    } else {
        $(".fixedposition").css("display", "none");
    }
});

在这里查看示例:http://jsfiddle.net/flish/T6x4R/

当然,对于您的固定 div,您可能应该做一些其他操作,而不仅仅是设置 display:none;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接