J'ai un texte fixe et j'essaie d'ajouter une classe différente à chaque fois que le texte entre dans un parchemin. Je l'ai travaillé sans problème. Mais si j'ajoute un montant de décalage au texte fixe, par ex.Ajout du décalage(). Montant supérieur sur le parchemin
top: 400px
Je dois contrer ce décalage dans le JS. Mais je n'arrive pas à comprendre. J'ai essayé d'utiliser:
.offset().top 400);
Mais cela ne fonctionne pas. Voici un code que je suis actuellement en utilisant:
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
Le texte doit ajouter la classe dès qu'il entre dans la div pertinente.
est ici un violon de travail: http://jsfiddle.net/6PrQW/334/
Bien sûr, merci de souligner que le calcul aurait dû être basé sur du texte fixe plutôt que sur la fenêtre. Logique. Merci – alexgomy