2012-12-11 3 views
3

J'ai une page Web qui contient un tas de parties, qui peuvent toutes être faites défiler à l'aide de liens hashtag (par exemple www.marie-charlot.be/#weiss).Exécuter javascript après que la page a été chargée et a fait défiler jusqu'à l'ancre hashtag

Je sais comment exécuter les fonctions javascript qui déclenchent après le chargement de la page (en utilisant $(document).ready, mais ceux-ci déclenchent généralement avant que la page défile vers le bas à la partie correcte (l'ancre #weiss).

comment puis-je exécuter des scripts après le défilement

+0

Jetez un oeil à la [plug-in Scrollspy] (https://github.com/sxalexander/jquery-scrollspy) – xbonez

+0

Scrollspy devrait vous aider là-bas. Il peut exécuter des fonctions en fonction de la partie de la page sur laquelle l'utilisateur a navigué. Les waypoints sont très similaires. – xbonez

+1

votre plugin a l'option de rappel ... utilisez – charlietfl

Répondre

0

Vous devez utiliser le plugin JQuery Waypoints pour cette

Exemple:.

$('.entry').waypoint(function() { 
    alert('You have scrolled to an entry.'); 
}); 
+0

J'utilise déjà les points de cheminement Jquery pour changer l'état de la page (par exemple, déterminer dans quel jeu je suis actuellement). Le fait est que je veux attendre que la page défile vers le bas pour que ce changement d'état puisse être utilisé dans la fonction que je veux appeler. – romeovs

+1

il a effectivement travaillé en extrayant l'ID hashtag et en ajoutant une fonction d'appel unique à l'ancre avec cet ID. – romeovs

0
$(document).ready(function() { 
    var anchorTop = $('#my-anchor').offset().top; 

    $(document).scroll(function() { 
     if($(document).scrollTop() >= anchorTop) 
      yourFunctionHere(); 
    }); 
}); 
Questions connexes