Déclenchement d'événements lorsque les utilisateurs atteignent des éléments spécifiques avec jQuery
Dans la conception Web, il peut être utile de déclencher des événements lorsque les utilisateurs font défiler vers des éléments spécifiques sur une page. Par exemple, vous souhaiterez peut-être afficher une notification ou activer une animation lorsqu'un utilisateur atteint un certain point.
Problème :
Considérons un élément h1 positionné loin en bas d'une page :
<code class="html"><h1>TRIGGER EVENT WHEN SCROLLED TO.</h1></code>
Vous souhaitez déclencher une alerte ou effectuer une autre action lorsque l'utilisateur fait défiler vers ou à proximité de cet élément h1.
Solution :
La solution à ce problème réside dans l'utilisation de l'événement scroll de jQuery et dans le calcul du décalage et de la visibilité de l'élément par rapport à la fenêtre d'affichage du navigateur. Voici une démonstration étape par étape :
<code class="javascript">$(window).scroll(function() { var hT = $('#scroll-to').offset().top, hH = $('#scroll-to').outerHeight(), wH = $(window).height(), wS = $(this).scrollTop(); if (wS > (hT+hH-wH) && (hT > wS) && (wS+wH > hT+hH)){ console.log('H1 on the view!'); } });</code>
Cet extrait de code :
Implémentation alternative :
Au lieu d'afficher une alerte, vous pouvez utiliser cette approche pour faire apparaître l'élément h1 lorsqu'il devient visible :
<code class="javascript">$('#scroll-to').fadeIn();</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!