Im tring pour animer le défilement vers un ID particulier lors du chargement de la page. J'ai fait beaucoup de recherches et suis tombé sur ceci:
$("html, body").animate({ scrollTop: $('#title1').height() }, 1000);
mais cela semble commencer à partir de l'ID et s'animer en haut de la page?
Le HTML (qui est à mi-chemin de la page) est simplement:
<h2 id="title1">Title here</h2>
Réponses:
Vous ne faites défiler que la hauteur de votre élément. offset () renvoie les coordonnées d'un élément par rapport au document, et
top
param vous donnera la distance de l'élément en pixels le long de l'axe y:Et vous pouvez également y ajouter un délai:
la source
scroll
. Dans cet esprit, vous ajouteriez la position de défilement actuelle dubody
à laoffset().top
position de l'élément que nous voulons afficher, la somme résultante est la valeur vers laquelle nous voulons faire défiler.$('html, body').animate({ scrollTop: ($('html, body').scrollTop() + $('#title1').offset().top) }, 1000);
.offset().top
vous donnerait un nombre négatif dans ce cas. Et cela ne fonctionne vraiment que pourbody
ethtml
puisqueoffset().top
va vous donner le décalage du haut du document, pas le parent de défilement prévu.Solution javascript pure avec la fonction scrollIntoView () :
Le paramètre PS 'smooth' fonctionne désormais à partir de Chrome 61 comme julien_c mentionné dans les commentaires.
la source
jquery-animate-body-for-all-browser .
la source
Il existe un plugin jquery pour cela. Il fait défiler le document jusqu'à un élément spécifique, de sorte qu'il soit parfaitement au milieu de la fenêtre. Il prend également en charge les accélérations d'animation afin que l'effet de défilement soit super lisse. Vérifiez ce lien .
Dans votre cas, le code est
la source
essayez avec le code suivant. créer des éléments avec le nom de la classe, faire défiler la page et conserver l'identifiant
href
des liens correspondantsla source
pour un simple défilement, utilisez le style suivant
hauteur: 200px; débordement: faire défiler;
et utilisez cette classe de style quelle div ou section vous voulez afficher scroll
la source