Après le chargement de ma page. Je veux que jQUery défile bien vers le bas de la page, s'animant rapidement, pas un snap / jolt.
Ai-je besoin d'un plugin comme ScrollTo
ça? ou est-ce intégré à jQuery?
Après le chargement de ma page. Je veux que jQUery défile bien vers le bas de la page, s'animant rapidement, pas un snap / jolt.
Ai-je besoin d'un plugin comme ScrollTo
ça? ou est-ce intégré à jQuery?
Réponses:
Vous pouvez simplement animer pour faire défiler la page en animant la scrollTop
propriété, aucun plugin requis, 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 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 jusqu'à un ID particulier, utilisez son .scrollTop()
, comme ceci:
$("html, body").animate({ scrollTop: $("#myID").scrollTop() }, 1000);
$("html, body").animate({ scrollTop: $("#myID").offset().top }, 1000);
$(document).height()
est trop grande valeur pour la scrollTop
propriété, vous pouvez le constater par l'assouplissement. Je pense que ça $(document).height() - window.innerHeight
devrait aller.
quelque chose comme ça:
var $target = $('html,body');
$target.animate({scrollTop: $target.height()}, 1000);
$('html,body').animate({ scrollTop: 9999 }, 'slow');
Aussi simple que cela, 9999 pages de hauteur ... grande plage pour qu'il puisse atteindre le bas.
Les scripts mentionnés dans les réponses précédentes, comme:
$("body, html").animate({
scrollTop: $(document).height()
}, 400)
ne fonctionnera pas dans Chrome et sera instable dans Safari au cas où la html
balise en CSS a un overflow: auto;
jeu de propriétés. Il m'a fallu près d'une heure pour comprendre.
En utilisant 'document.body.clientHeight', vous pouvez obtenir la hauteur vue des éléments du corps
$('html, body').animate({
scrollTop: $("#particularDivision").offset().top - document.body.clientHeight + $("#particularDivision").height()
}, 1000);
cela défile à l'id 'particularDivision'
Pour jQuery 3, veuillez modifier
$ (fenêtre) .load (function () {$ ("html, body"). animate ({scrollTop: $ (document) .height ()}, 1000);})
à:
$ (window) .on ("load", function (e) {$ ("html, body"). animate ({scrollTop: $ (document) .height ()}, 1000);})
function scrollToBottom() {
$("#mContainer").animate({ scrollTop: $("#mContainer")[0].scrollHeight }, 1000);
}
C'est le travail de solution de moi et vous trouvez, je suis sûr
js
var el = document.getElementById("el");
el.scrollTop = el.scrollHeight - el.scrollTop;
$('#pagedwn').bind("click", function () {
$('html, body').animate({ scrollTop:3031 },"fast");
return false;
});
Cette solution a fonctionné pour moi. Il fonctionne rapidement dans Page Scroll Down.