如何使这个粘性头jQuery头工作?

如何使这个粘性头jQuery头工作?,jquery,html,Jquery,Html,我试图让一个粘性标题工作,就像当我向下滚动时,标题将消失,当我开始向上滚动时,标题将重新出现 这是我的jQuery: var didScroll; var lastScrollTop = 0; var delta = 5; var navbarHeight = $(".header-top").outerHeight(); $(window).scroll(function(event){ didScroll = true; }); setInterval(function() {

我试图让一个粘性标题工作,就像当我向下滚动时,标题将消失,当我开始向上滚动时,标题将重新出现

这是我的jQuery:

var didScroll;
var lastScrollTop = 0;
var delta = 5;
var navbarHeight = $(".header-top").outerHeight();

$(window).scroll(function(event){
    didScroll = true;
});

setInterval(function() {
    if (didScroll) {
        hasScrolled();
        didScroll = false;
    }
}, 250);

function hasScrolled() {
    var st = $(this).scrollTop();

    // Make sure they scroll more than delta
    if(Math.abs(lastScrollTop - st) <= delta)
        return;

    // If they scrolled down and are past the navbar, add class .nav-up.
    // This is necessary so you never see what is "behind" the navbar.
    if (st > lastScrollTop && st > navbarHeight){
        // Scroll Down
        $(".header-top").removeClass("sticky-header--top").addClass("sticky-header--hidden");
    } else {
        // Scroll Up
        if(st + $(window).height() < $(document).height()) {
            $(".header-top").removeClass("sticky-header--hidden").addClass("sticky-header--fixed");
        }
    }

    lastScrollTop = st;
}
var;
var lastScrollTop=0;
varδ=5;
var navbarHeight=$(“.header-top”).outerHeight();
$(窗口)。滚动(功能(事件){
didcoll=true;
});
setInterval(函数(){
如果(滚动){
哈斯克罗尔();
didcoll=false;
}
}, 250);
函数hasScrolled(){
var st=$(this.scrollTop();
//确保它们滚动的次数大于增量
if(Math.abs(lastScrollTop-st)lastScrollTop&&st>navbarHeight){
//向下滚动
$(“.header-top”).removeClass(“粘滞的header-top”).addClass(“粘滞的header-hidden”);
}否则{
//向上滚动
如果(st+$(窗口).height()<$(文档).height()){
$(“.header-top”).removeClass(“粘性头-隐藏”).addClass(“粘性头-固定”);
}
}
lastScrollTop=st;
}
我正试图使其从此div中添加和删除类:

<div class="header__top sticky-header sticky-header--top" sticky-header="">

如您所见,我试图通过选择类来获取div。我试着用id找到它,但没有结果


提前谢谢

您正在搜索
$('.header-top')
,但您的元素具有类
header-top
,因此请使用
$('.header-top')


另外,函数中的
$(this)
是什么?也许这应该是
$(窗口)
或其他东西。获取scrolltop后,尝试提醒您的变量,看看它是否确实有值。

谢谢。我忽略了它,但早些时候我尝试使用ID获取该项目,但没有任何运气。现在,在我更正代码之后,没有添加或删除任何类。添加了另一个可能的问题。试试看?这里有一个链接,指向我借用代码的那篇文章。也许这对你来说更容易分析,好的。实际上jQuery加载脚本中有一个输入错误,因为它是托管在我的计算机上的。然而,代码并没有完全按照我想要的那样运行。第一次向下滚动时,页眉将消失,但如果我在页面中间时开始向下滚动,则不会消失。所以基本上,我希望每次向下滚动时它都消失。如果你能给我一个建议,我将非常感激//固定的