Situation: ich eine Funktion geschrieben haben, der erkennt, ob <section>
das Ansichtsfenster über Scroll eingegeben hat, wenn ja .addClass('fadeInUp')
sonst .removeClass('fadeInUp')
die .animation-element
verursacht auf der Ansichtsfenster verblassen in..addClass auf anfänglich geladene Element
Problem: Da die bedingte auf die Scroll-Funktion binded ist, die erste <section>
, die anfänglich geladen wird nicht .addClass('fadeInUp')
, bis der Benutzer scrollt dann zurück zum <section>
scrollt. View JS Fiddle for example
Frage: Wie kann ich erkennen, auch wenn die anfänglich geladen <section>
im Ansichtsfenster, dann .addClass('fadeInUp')
, etc ...
Aktuelle JS-Funktion:
function isScrolledIntoView(elem) {
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
$(window).scroll(function() {
$('.animation-element').each(function() {
if (isScrolledIntoView(this) === true) {
$(this).addClass('fadeInUp')
} else {
$(this).removeClass('fadeInUp')
}
});
});
Hier ist die JS Fiddle des Prototyps.
Rufen Sie einfach den gleichen Code, den Sie im Event-Handler auf der Seite laden aufrufen ... – mhodges