Ich habe ein festes Stück Text und ich versuche, jedes Mal eine andere Klasse hinzuzufügen, wenn der Text ein div auf Blättern eingibt. Ich habe es funktioniert kein Problem. Wenn ich jedoch einen Offset-Betrag zu dem festen Text z.Hinzufügen von offset(). Top Menge auf Blättern
top: 400px
Ich brauche dies in der JS-Offset zu begegnen. Aber ich kann es nicht herausfinden. Ich habe versucht mit:
.offset().top 400);
Aber es funktioniert nicht. Hier ist ein Code, den ich zur Zeit bin mit:
HTML
<p class="text">TEXT HERE</p>
<div class="section1"></div>
<div class="section2"></div>
<div class="section3"></div>
<div class="section4"></div>
JS
$(window).scroll(function (event) {
var scroll = $(window).scrollTop();
$('.text').toggleClass('blue',
scroll >= $('.section1').offset().top
);
$('.text').toggleClass('magenta',
scroll >= $('.section2').offset().top
);
$('.text').toggleClass('green',
scroll >= $('.section3').offset().top
);
$('.text').toggleClass('orange',
scroll >= $('.section4').offset().top
);
});
//trigger the scroll
$(window).scroll();//ensure if you're in current position when page is refreshed
Der Text so schnell hinzuzufügen Klasse benötigt, da es die relevanten div eintritt.
Hier ist eine Arbeits Geige: http://jsfiddle.net/6PrQW/334/
Natürlich, danke für das Hinweisen darauf, dass die Berechnung auf festem Text und nicht auf dem Fenster basieren sollte. Macht Sinn. Vielen Dank – alexgomy