检测到一个位置:固定; 元素跨越另一个元素

Jer*_*ack 5 javascript css jquery

我想知道是否有可能检测到具有css属性位置的元素:fixed; 滚动时越过另一个元素.我的目标是防止固定位置div越过不同高度的页面上的静态定位页脚,在较小的屏幕上查看时页脚高度也可能会改变.

理想情况下,固定/可滚动div将位于距窗口底部20px的位置,然后当用户滚动到页脚时,它将保持位于页脚上方20px的位置.

fli*_*ish 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");
    }
});
Run Code Online (Sandbox Code Playgroud)

请参阅此处的小提琴:http ://jsfiddle.net/flish/T6x4R/

当然,除了为display:none;固定 div设置之外,您可能还应该做其他事情