Ich versuche ein festes div-Element zu erstellen, wenn die Bildlaufposition zwischen zwei div-Elementen liegt. Ich benutze diesen Code, um das feste Element zu erstellen:Feste div zwischen zwei div-Elementen
var sidebar = $('.sidebar').offset().top;
$(window).scroll(function() {
if ($(window).scrollTop() > sidebar) {
$('.sidebar').addClass('fixed');
}else{
$('.sidebar').removeClass('fixed');
}
});
Ich weiß nicht, wie die feste Klasse zu entfernen, wenn der blaue div erreicht. Ich habe versucht, die aktuelle Position des blauen div zu bekommen und es in die if-Anweisung hinzu: var blueDiv = $('.bottom').offset().top
:
if ($(window).scrollTop() > sidebar && $(window).scrollTop() < blueDiv){
// add fixed class
}else{
// remove fixed class
}
Fiddle: https://jsfiddle.net/L7p5yeet/
Appel, in deiner Geige sagst du 'Wenn du die blaue Div (unten) erreicht hast'. Bedeutet das, dass du den unteren Teil des blauen Div erreichst oder dass das blaue Div das untere Ende des ganzen Teils ist? Mit anderen Worten, muss die Seitenleiste repariert werden, sobald sie den oberen oder unteren Rand des blauen Bereichs erreicht? –
Was ich mit "unten" meinte, war die Klasse des blauen Div, nicht die Unterseite. Entschuldigung, ich war nicht klar. Aber danke für deine Antwort, es funktioniert perfekt für mich @DouwedeHaan! – Appel
Kein Problem! Es verursachte etwas Verwirrung, aber du hast das geklärt! –