javascript - 检测到位置 : fixed; element crosses over another element 时

标签 javascript jquery css

我想知道是否可以检测具有 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/

相关文章:

css - iframe 和隐藏元素

javascript - 如何在html上停止自动样式

javascript - 如何验证动态字段(动态创建的字段)

javascript - 使用 $(this) 在 2 个元素后添加一些内容?

javascript - 移动设备的 jQuery click 替代品

javascript - 为什么 Android 上背景图像(动画)的快速更改如此缓慢

css - 点赞按钮 - 使弹出窗口出现在框上方

javascript - 尝试更改特定字母的背景颜色

javascript - D3 和​​ jQuery 有什么区别?

javascript - 在交叉过滤器数组维度上进行 AND 过滤