Ich benutze den folgenden Code, um ein div beim Scrollen auf der Seite und das Verbergen beim Scrollen zu zeigen. Es funktioniert wie erwartet, aber ich möchte auch das div 100px vom oberen Rand der Seite ausblenden, so dass es nicht meine Kopfzeile überlappt. Wie kann ich diesen Code anpassen (oder anderen Code verwenden, besser mit jquery?), Um dies zu tun?Anzeigen von div auf Nach oben scrollen, aber in der Nähe des oberen Seitenrands ausblenden
Danke für jede Hilfe.
// Hide Header on scroll down
var didScroll;
var lastScrollTop = 0;
var delta = 5;
var navbarHeight = $('#fixed 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
$('#fixed header').removeClass('nav-up').addClass('nav-down');
} else {
// Scroll Up
if(st + $(window).height() < $(document).height()) {
$('#fixed header').removeClass('nav-down').addClass('nav-up');
}
}
lastScrollTop = st;
}
Danke Gilles. Ich bin ziemlich nutzlos im Code, aber wie würde ich dann das div 100px vom oberen Rand der Seite mit Ihrem Code verstecken? –
Es ist bereits dort if (scrollTop> lastScrollTop || scrollTop
Ich habe Code-Schnipsel hinzugefügt, so dass Sie die Ergebnisse sehen können –