使用基于元素高度滚动的jquery添加/删除类?

使用基于元素高度滚动的jquery添加/删除类?,jquery,html,css,Jquery,Html,Css,您好,我使用这个jquery函数在垂直滚动页面上添加一个类。但我想在一个元素的末尾删除这个类,因为它在所有页面上的高度都是可变的。 例如,在第页上,此元素高度为400px,在另一页上为1000px,并且。。。 如何测量元素高度并移除该高度上的类 $(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 500) { $(".clearHeader"

您好,我使用这个jquery函数在垂直滚动页面上添加一个类。但我想在一个元素的末尾删除这个类,因为它在所有页面上的高度都是可变的。 例如,在第页上,此元素高度为400px,在另一页上为1000px,并且。。。 如何测量元素高度并移除该高度上的类

$(window).scroll(function() {    
    var scroll = $(window).scrollTop();

    if (scroll >= 500) {
        $(".clearHeader").addClass("darkHeader");
    } else {
        $(".clearHeader").removeClass("darkHeader");
    }
});
尝试不测试:

$(window).scroll(function() {    
    if ($(window).scrollTop() + $(window).height() == $(document).height()) {
        $(".clearHeader").removeClass("darkHeader");
    } else {
        $(".clearHeader").addClass("darkHeader");
    }
});
如果用户已滚动到页面底部,则删除类。

您需要计算阈值偏移元素顶部位置+元素高度=从页面顶部到元素底部的总高度,并检查当前滚动位置何时超过它

它应该做到这一点:

$(window).scroll(function() {    
    var scroll = $(window).scrollTop();
    var threshold = $('.clearHeader').offset().top + $('.clearHeader').height();

    if (scroll >= threshold) {
        $(".clearHeader").addClass("darkHeader");
    } else {
        $(".clearHeader").removeClass("darkHeader");
    }
});

它不能正常工作