javascript - 如何使用 jQuery 阻止固定元素超出页脚

标签 javascript jquery html css

我将侧边栏中的“开始”元素设置为固定,当它滚动超过某个点时,但在较小的笔记本电脑屏幕(14 英寸到 18 英寸)上,当用户向下滚动时它最终会进入页脚。

我想对其进行设置,以便一旦检测到粘性内容在页脚的 10 像素内,它就会停止。

网站链接

http://previewyournewwebsite.info/otsl/compare-reverse-mortgage-loan-products

这是我使用的代码:

function sticky_relocate() {
        var window_top = $(window).scrollTop();
        var div_top = $('.sticky-anchor').offset().top;
        if (window_top > div_top)
            $('.sticky-element').addClass('sticky')
        else
            $('.sticky-element').removeClass('sticky');
    }

    $(function() {
        if ($('.sticky-anchor').length != 0){
            $(window).scroll(sticky_relocate);
            sticky_relocate();
        }
    });

最佳答案

类似的东西怎么样

function sticky_relocate() {
    var sticky_element = $('.sticky-element');
    var window_top = $(window).scrollTop();
    var div_top = $('.sticky-anchor').offset().top;
    var div_height = sticky_element.height();
    var footer_top = $('.footer').offset().top;
    if (window_top > div_top) {
        sticky_element.addClass('sticky')
    } else {
        sticky_element.removeClass('sticky');
    }
    if(div_top + div_height > footer_top - 10) {
        sticky_element.css("top", footer_top - 10);   
    }
}

$(function() {
    if ($('.sticky-anchor').length != 0){
        $(window).scroll(sticky_relocate);
        sticky_relocate();
    }
});

获取 div 的高度并检查它的顶部位置 + 高度是否不超过页脚的顶部位置。

关于javascript - 如何使用 jQuery 阻止固定元素超出页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19020150/

相关文章:

html - css 下拉列表对齐 img 和文本

javascript - 如何在 MobileSafari 中接收复制的图像?

javascript - 在 Node.js 中进行同步 MongoDB 查询的正确方法是什么?

javascript - typescript 中的静态类

html - 在标题旁边 float 图像并对齐段落

javascript - 在手机上隐藏下拉菜单

javascript - 当用户单击作为父 div 的子级的按钮时,如何隐藏父 div 并将其替换为另一个 div?

javascript - 我如何在页面加载本身的依赖下拉列表中加载默认国家、州和城市?

c# - 选择列表选项有一些意想不到的值

javascript - Gallery3 - 保存失败后重新加载页面