<div id="containerDiv"></div>
#containerDiv {
position: absolute;
top: 0px;
width: 400px;
height: 100%;
padding: 5px;
font-size: .875em;
overflow-y: scroll;
}
document.getElementById("containerDiv").innerHTML = variableLongText;
Comment réinitialiser la position de défilement vers le haut du conteneur div la prochaine fois?
javascript
html
scroll
je suis ici
la source
la source
Une autre façon de le faire avec une animation fluide est comme ça
la source
slow
, il est si ... lent!slow
comme deuxième argument. Vous pouvez passer un entier qui correspond au nombre de millisecondes pour que l'animation se termine.J'ai essayé les réponses existantes à cette question, et aucune d'elles n'a fonctionné sur Chrome pour moi. Ce qui fonctionnait était légèrement différent:
la source
scrollTo
est la solution ultime pour faire défiler les fenêtres vers le haut - la meilleure partie est qu'il ne nécessite aucun sélecteur d'identifiant et même si nous utilisons la structure IFRAME, cela fonctionnera extrêmement bien.
jQuery
Une autre option pour faire la même chose est d'utiliser jQuery et cela donnera un aspect plus lisse pour le même
où 0 après scrollTop spécifie la position de la barre de défilement verticale dans le pixel et le second paramètre est un paramètre facultatif qui indique le temps en microsecondes pour terminer la tâche.
la source
document.getElementById('scroller').scrollTo(0,0)
Cela a fonctionné pour moi:
la source
document.getElementById("yourDivID").scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"})
scollIntoView
ne fonctionne que si vous l'appelez sur l'élément à faire défiler. En d' autres termes, ne pas l' appeler sur l'élément que vous voulez faire défiler à , appeler sur l'élément que vous voulez faire défiler.Pour ceux qui ne peuvent toujours pas faire fonctionner cela, assurez-vous que l'élément débordé est affiché avant d'utiliser la fonction jQuery .
Exemple:
la source
Pour moi, la méthode scrollTop ne fonctionnait pas, mais j'en ai trouvé d'autres:
N'a pas vérifié le temps minimum pour un rendu css fiable, 100 ms pourraient être excessifs.
la source
Si vous souhaitez faire défiler avec une transition en douceur, vous pouvez l'utiliser!
(Vanille JS)
J'espère que cela t'aides!!
la source
Selon la réponse de François Noël "Pour ceux qui ne peuvent toujours pas faire ce travail, assurez-vous que l'élément débordé est affiché avant d'utiliser la fonction jQuery."
J'avais travaillé dans un modal bootstrap que j'évoquais à plusieurs reprises avec des autorisations de compte dans un div qui déborde sur la dimension y. Mon problème était que j'essayais d'utiliser la fonction jquery .scrollTop (0) et cela ne fonctionnerait pas, peu importe comment j'essayais de le faire. J'ai dû configurer un événement pour le modal qui n'a pas réinitialisé la barre de défilement jusqu'à ce que le modal ait cessé de s'animer. Le code qui a finalement fonctionné pour moi est ici:
la source
Si le contenu html déborde d'une seule fenêtre, cela a fonctionné pour moi en utilisant uniquement javascript:
Cordialement,
la source
C'est la seule façon dont cela a fonctionné pour moi, avec une transition de défilement fluide:
la source
Lors de l'obtention d'un élément par nom de classe, n'oubliez pas que la valeur de retour est un tableau; D'où ce code:
Ça ne marcherait pas. Utilisez plutôt le code ci-dessous.
J'ai pensé que d'autres personnes pourraient rencontrer un problème similaire à moi; donc cela devrait faire l'affaire.
la source
ces deux codes ont fonctionné pour moi comme un charme, il faudra d'abord faire défiler vers le haut de la page, mais si vous voulez faire défiler jusqu'à un div spécifique, utilisez le second avec votre identifiant div.
Si vous voulez faire défiler jusqu'à par un nom de classe, utilisez le code ci-dessous
la source
L'ID doit avoir l'id du div correspondant qui a la propriété css de débordement.
document.querySelector('#YOUR_OVERFLOWED_DIV').scrollTop = 0;
la source