Est-il possible de faire défiler jusqu'à un emplacement spécifique sur la page en utilisant jQuery?
L'emplacement que je veux faire défiler doit-il avoir:
<a name="#123">here</a>
Ou peut-il simplement passer à un identifiant DOM spécifique?
Est-il possible de faire défiler jusqu'à un emplacement spécifique sur la page en utilisant jQuery?
L'emplacement que je veux faire défiler doit-il avoir:
<a name="#123">here</a>
Ou peut-il simplement passer à un identifiant DOM spécifique?
Réponses:
Plugin de défilement jQuery
puisqu'il s'agit d'une question taguée avec jquery, je dois dire que cette bibliothèque a un très bon plugin pour un défilement fluide, vous pouvez le trouver ici: http://plugins.jquery.com/scrollTo/
Extraits de la documentation:
ou
Fonction jQuery personnalisée pour le défilement
vous pouvez utiliser une approche très légère en définissant votre fonction jquery de défilement personnalisée
et utilisez-le comme:
Faire défiler les coordonnées d'une page
Animer
html
etbody
éléments avecscrollTop
ouscrollLeft
attributsJavaScript simple
défilement avec
window.scroll
seulement pour résumer, utilisez le window.location.hash pour sauter à l'élément avec l'ID
Directement en HTML (améliorations d'accessibilité)
la source
Oui, même en JavaScript simple, c'est assez facile. Vous donnez un identifiant à un élément et vous pouvez ensuite l'utiliser comme "signet":
Si vous voulez qu'il défile là quand un utilisateur clique sur un lien, vous pouvez simplement utiliser la méthode éprouvée:
Pour le faire par programme, utilisez
scrollIntoView()
la source
Il n'est pas nécessaire d'utiliser un plugin, vous pouvez le faire comme ceci:
puis utilisez ceci pour faire défiler le document vers un DOM spécifique:
la source
.animate
appel ne se produiseVoici une version purement javascript:
Il défilera automatiquement. N'oubliez pas d'ajouter le préfixe "#".
la source
Javascript simple:
la source
Cet exemple montre comment localiser vers un identifiant de div particulier, c'est-à-dire «idVal» dans ce cas. Si vous avez des divs / tables ultérieurs qui s'ouvriront dans cette page via ajax, alors vous pouvez attribuer des div uniques et appeler le script pour faire défiler jusqu'à l'emplacement particulier pour chaque contenu de divs.
J'espère que cela sera utile.
la source
la source
Essaye ça
la source
Voici une variante de l' approche légère de @ juraj-blahunka . Cette fonction ne suppose pas que le conteneur est le document et ne défile que si l'élément est hors de vue. La mise en file d'attente des animations est également désactivée pour éviter les rebonds inutiles.
la source
Utilisation de jquery.easing.min.js, avec des erreurs de console IE corrigées
HTML
Jquery
la source
location.hash = 'idOfElement';
devrait suffireVous pouvez utiliser
scroll-behavior: smooth;
pour faire cela sans Javascripthttps://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior
la source