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 scrollTopproprié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 scrollToppropriété, vous pouvez le constater par l'assouplissement. Je pense que ça $(document).height() - window.innerHeightdevrait 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.