Comment puis-je détecter si un utilisateur fait défiler vers le bas avec jQuery? Je veux un div fixe pour montrer seulement quand le navigateur est dans 300px du dessus. Lorsque l'utilisateur fait défiler la marque 300px, il devrait disparaître. Lorsque l'utilisateur revient en haut, il doit masquer. Comment puis-je faire cela?Afficher la balise uniquement lorsque la page défile en haut
Répondre
Joindre un écouteur de défilement à la fenêtre: http://docs.jquery.com/Events/scroll
Vérifiez ensuite les scrollTop de la fenêtre: http://docs.jquery.com/CSS
Lorsque scrollTop est inférieur à 300, show() le div, sinon hide() it.
Notez que scrollTop ne fonctionne PAS sur les navigateurs. Vous voulez 'window.scrollY' pour ce test. –
var docElem = $(document.documentElement)
docElem.scroll(function(e) {
if(docElem.scrollTop() < 300) {
whatever.show();
} else {
whatever.hide();
}
});
Vous pourriez avoir à utiliser un autre élément (comme docElem) dans les différents navigateurs, mais cela devrait fonctionner dans Firefox. (Je ne l'ai pas testé)
EDIT: Plus jQuery
J'ai utilisé une partie de votre code, merci! –
Alors pourquoi ne l'avez-vous pas marqué comme accepté? – SLaks
juste vérifier la position de la fenêtre sur l'événement de défilement, et la comparer avec la position de l'élément:
$(window).scroll(function(e){
$el = $('.myElement');
if ($(this).scrollTop() > $el.offset().top){
$el.hide();
} else {
$el.show();
});
Exécuter cet exemple here.
- 1. Comment puis-je détecter que le client défile en haut ou en bas d'une page Web?
- 2. Afficher/masquer la balise div javascript
- 3. JSP Afficher la page de tri Page Recharger
- 4. Un DIV qui reste en haut pendant qu'une page Web défile
- 5. mise en mémoire cache dynamique de la page: afficher la page du cache html redirigé ou afficher la page dynamique?
- 6. Haut de la page Javascript bookmarklet
- 7. Afficher la page Web en hébreu
- 8. Afficher uniquement la branche actuelle dans Git
- 9. Faire défiler une liste avec la page haut/bas
- 10. NVelocity - Afficher uniquement la ligne sinon nulle
- 11. Conserver la page Web du défilement vers le haut sur le formulaire. Soumettre
- 12. Afficher les images html uniquement lorsque l'élément est affiché
- 13. CSS: bannière fine en haut de la page (comme celle orange sur cette page)
- 14. Contrôle UpdatePanel et déplacement vers le haut de la page
- 15. Utilisation de la balise CODE en HTML, Comment l'obtenir pour afficher le code?
- 16. - [UITableView scrollToRowAtIndexPath:] défile, mais revient à la première ligne
- 17. Valider la syntaxe XML uniquement en C#
- 18. La fenêtre courante devrait être vue en haut
- 19. Ouvrir la boîte de dialogue Modal en haut de la page parente à partir d'un Iframe
- 20. Charger le contenu en tant qu'élément défile dans la vue
- 21. Modifier puis afficher la page en utilisant C#
- 22. Afficher l'icône en fonction de la propriété de page
- 23. comment afficher uniquement l'heure en oracle?
- 24. WPF - ScrollViewer ne défile pas lorsque ScrollToHorizontalOffset() est appelé
- 25. Gridview disparaît lorsque la page est actualisée
- 26. Afficher l'image au centre de la page
- 27. UIWebView défile par saccades
- 28. Insérer uniquement lorsque les enregistrements n'existent pas dans la table
- 29. grille de la propriété afficher uniquement une catégorie
- 30. Modifier la fonction Afficher/Masquer uniquement pour redimensionner la largeur et non la hauteur?
Ne le placez pas à plus de 300 pixels du haut de la page. Vous n'aurez même pas besoin de jQuery :-) – edeverett
Je veux que ce soit corrigé dans le navigateur, donc quand vous faites défiler vers le bas, ça aura l'air cool: D –