javascript - 无法让固定 div 停在页脚上方,我错过了什么?

标签 javascript jquery html css

我有一个侧栏 div,它固定到一定的滚动/页面高度,然后变为 position:absolute

我的问题是,当它加载时,它位于正确的位置和高度,直到我滚动然后它移动(部分由于 jQuery 函数)。然而,当它移动时,它不会停在页脚处,而是继续越过它。

我正在 COS 上构建它,因此我无法在 JSFiddle 中准确地重现问题,但我可以将您链接到该页面。

CSS

/*fixed/absolute div*/
.widget-type-post_listing{
    right:0;
    width:50px;
    position:absolute;
    display;block;
    background:yellow;
    height:50px;
   }

jQuery

$(function(){
    var container = $('.widget-type-post_listing');
    var minTop = $('.header-container-wrapper').outerHeight();
    var maxTop = $('.footer-container-wrapper').offset().top - container.outerHeight(); 

    $(document).scroll(function() {
        container.css('top', Math.min( Math.max(minTop, $(document).scrollTop()), maxTop ));
    });
});

这是 JS Fiddle,显示了一个工作示例: JSFiddle 。您可以看到黄色框(fixed/abso.div)将停留在页面上,直到滚动到页脚。

正如我上面所说,要查看确切的问题,请访问工作页面: Working Page

感谢大家的帮助!

最佳答案

您可以在页脚和页眉之间添加一个 div,围绕黄色 div 100% 宽度位置相对位置,然后修复该 div 的最大高度并将其显示设置为 inline-flex 或 inline-block。我认为这份工作应该如此。

Cover-div{
width: 100%;
display: inline-flex;
position: relative;
}

关于javascript - 无法让固定 div 停在页脚上方,我错过了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34205204/

相关文章:

javascript - WebGL:gl.copyTexImage2D 竞争条件

javascript - 淡出后显示 block 或淡入淡出后显示 block

javascript - 整个应用程序在 prop undefined 错误后停止(需要帮助调试)

javascript - KnockoutJS 自定义绑定(bind)在绑定(bind)期间调用单击事件,而不是单击时

Jquery tmpl 从函数返回 HTML

javascript - jQuery:单击函数绑定(bind)在带有闭包修复的 for 循环中

jquery - 我应该在 WebView 上使用 Regx、插入 JQuery 或 HTML 解析来获取其内容吗?

html - 如何将 LI 元素定位到 UL 列表的底部

javascript - 使用跨度而不是输入有什么好处

javascript - 使用 append 在头部活跃地加载 js 和 css