Une fois que ma page est chargée. Je veux que jQUery fasse gentiment défiler le bas de la page, en l'animant rapidement, sans à-coups.
Ai-je besoin d'un plugin comme ScrollTo
pour cela ? ou est-ce intégré à jQuery d'une certaine manière ?
Une fois que ma page est chargée. Je veux que jQUery fasse gentiment défiler le bas de la page, en l'animant rapidement, sans à-coups.
Ai-je besoin d'un plugin comme ScrollTo
pour cela ? ou est-ce intégré à jQuery d'une certaine manière ?
Vous pouvez simplement animer le défilement vers le bas de la page en animant l'élément scrollTop
sans plugin, comme ceci :
$(window).load(function() {
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
});
Notez l'utilisation de window.onload
(lorsque les images sont chargées... qui occupent de la hauteur) plutôt que de document.ready
.
Pour être techniquement correct, vous devez soustraire la hauteur de la fenêtre, mais ce qui précède fonctionne :
$("html, body").animate({ scrollTop: $(document).height()-$(window).height() });
Pour faire défiler un ID particulier, utilisez sa fonction .scrollTop()
comme ceci :
$("html, body").animate({ scrollTop: $("#myID").scrollTop() }, 1000);
@AnApprentice - Si vous voulez faire défiler jusqu'à un ID particulier, cela ressemblerait à ceci $("html, body").animate({scrollTop: $("#myID").scrollTop() }, 1000);
pour que ça prenne une seconde.
Un autre problème, c'est que lorsqu'il semble terminé, et que l'utilisateur essaie de le faire défiler vers le haut, pendant un petit moment, il est bloqué et produit un effet de secousse qui empêche l'utilisateur de défiler vers le haut.
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.
0 votes
Les scripts mentionnés dans les réponses précédentes, comme : $("body, html").animate({ scrollTop : $(document).height() }, 400) ne fonctionnera pas en Chrome et sera nerveux dans Safari dans l'affaire
html
tag dans CSS aoverflow: auto;
de la propriété. Il m'a fallu près d'une heure pour le découvrir.