124 votes

JavaScript pour faire défiler une longue page vers un DIV

J'ai un lien sur une longue page HTML. Lorsque je clique dessus, je souhaite qu'un DIV sur une autre partie de la page soit visible dans la fenêtre en défilant à l'écran.

Un peu comme EnsureVisible dans d'autres langues.

J'ai vérifié scrollTop et scrollTo mais ils semblent être des faux-fuyants.

Quelqu'un peut-il m'aider ?

0voto

Lelando Points 100

Personnellement, j'ai trouvé que la réponse de Josh basée sur jQuery ci-dessus était la meilleure que j'ai vue, et qu'elle fonctionnait parfaitement pour mon application... bien sûr, j'étais déjà en utilisant jQuery... Je n'aurais certainement pas inclus toute la bibliothèque jQ dans ce seul but.

A la vôtre !

EDIT : OK... quelques secondes après avoir posté ce message, j'ai vu une autre réponse... en dessous de le mien (je ne suis pas sûr qu'il soit toujours en dessous de moi après une modification) qui disait de l'utiliser :

document.getElementById('votre_élément_ID_ici').scrollIntoView() ;

Cela fonctionne parfaitement et en beaucoup moins de code que la version jQuery ! Je n'avais aucune idée de l'existence d'une fonction intégrée dans JS appelée .scrollIntoView(), mais elle est là ! Donc, si vous voulez l'animation fantaisie, allez-y avec jQuery. Rapide et sale... utilisez celle-ci !

-2voto

Vitaly Sharovatov Points 400

Corrigez-moi si je me trompe, mais je relis la question et je continue à penser qu'Angus McCoteup demandait comment définir un élément pour qu'il soit position : fixed.

Angus McCoteup, regardez http://www.cssplay.co.uk/layouts/fixed.html - si vous voulez que votre DIV se comporte comme un menu, regardez une CSS ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X