更新:增加更多的控制:隐藏标题上的滚动和工作从一定的宽度大小

Update: Add more control: hide header on scroll and work from a certain width size

本文关键字:工作 增加 控制 隐藏 更新 标题 滚动      更新时间:2023-09-26

再次更新问题:

我有一个现有的脚本,它的工作,但唯一的事情,我想有更多的控制是指定向上/向下滚动的容忍,当它显示或隐藏菜单。目前,菜单在滚动44px (delta值)后首先向上滑动-这是可以的-但在那之后,我希望菜单直接在滚动上向上或向下滚动。当你将delta值设置为0px时,你可以看到我的意思,但是它在第一次滚动时没有延迟(明白吗?)。

第二件事是,我想添加一个函数到脚本,让我控制从哪个宽度它将开始工作。我想让它从667px和向下工作,而不是工作,当它超过这个值(有些像媒体查询)。

JSFiddle

// Hide header on scroll down //
var didScroll;
var lastScrollTop = 0;
var delta = 44;
var navbarHeight = $('header').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').addClass('nav-up');
} else {
    // Scroll Up
    if(st + $(window).height() < $(document).height()) {
        $('header').removeClass('nav-up');
    }
}
lastScrollTop = st;
}

两个问题/两个答案:

之后我想让菜单直接在scroll

上向上或向下滚动
  1. 设置增量为0

250的值是多少?看不出它的作用吗?

  • 250是用户滚动
  • 时的检查间隔。