Ich habe ein Element voller Breite, das beim Laden der Seite aus dem Bildschirm ist, aber wenn ein Benutzer die Seite nach unten scrollt, bewegt sich das Element als eine typische Scroll sollte.Sticky-Header auf Bildlauf in Microsoft Edge
Sobald dieses Element den oberen Rand der Seite erreicht, möchte ich, dass es oben bleibt und die Kopfzeile für den Rest der Seite ist, um darunter zu blättern.
Ich habe dies auf allen Browsern mit Ausnahme von Microsoft Edge funktioniert. Ich habe die Code-Schnipsel unten ohne Erfolg bei Edge ausprobiert. Ich habe auch versucht, den Scroll-Abstand auf eine bestimmte Anzahl von px zu setzen, aber das hat nicht funktioniert, da die Höhen von Browser und Geräten unterschiedlich waren.
Ich greife jetzt nach allem, hat jemand mögliche Lösungen, die ich versuchen könnte? Mahalo!
$(window).scroll(function() {
if ($(window).scrollTop() > $(window).height()) {
$('#systemSticky').removeClass('sticky');
} else {
$('#systemSticky').addClass('sticky');
}
});
--Und dieses ---
var stickyOffset = $('#systemSticky').offset().top;
$(window).scroll(function(){
var sticky = $('#systemSticky'),
scroll = $(window).scrollTop();
if (scroll >= stickyOffset) sticky.addClass('fixed');
else sticky.removeClass('fixed');
});
--- --- und dieses
$(document).scroll(function() {
var scrollDistance = $(document).scrollTop();
var stickyMenu = $("#systemSticky");
if(stickyMenu.offset().top == 0) {
stickyMenu.addClass({
"position": "fixed",
"top" : "0",
"width" : "100%"
});
} else {
stickyMenu.css("position", "relative");
}
});
--- --- und dieses
var header = $("#systemSticky");
$(window).scroll(function() {
var scroll = window.scrollTop();
if (scroll = 100vh) {
header.addClass("position: fixed");
} else {
header.removeClass("position: fixed");
}
});