jQuery Scroll en bas de page/iframe
Comment faire pour utiliser jquery pour faire défiler vers le bas d'une iframe ou une page?
Vous devez vous connecter pour publier un commentaire.
Comment faire pour utiliser jquery pour faire défiler vers le bas d'une iframe ou une page?
Vous devez vous connecter pour publier un commentaire.
Si vous voulez une belle ralentir l'animation de défilement, pour tout ancre avec
href="#bottom"
ce défilement de vous vers le bas:N'hésitez pas à changer le sélecteur.
scrollTop() retourne le nombre de pixels qui sont cachés de la vue à partir de la zone déroulante, afin de le donner:
sera effectivement le dépassement bas de la page. Pour les faire défiler en fait "stop" au bas de la page, la hauteur de la fenêtre du navigateur besoins de la soustraction. Cela permettra l'utilisation de faciliter, si nécessaire, de sorte qu'il devient:
easeOutQuint
nécessite un plugin jQuery lui-même, n'alinear
etswing
.<!DOCTYPE html>
sur Chrome, Chrome sera de retour exactement la même valeur pour la fenêtre de document et de la hauteur, auquel cas$(document).height()-$(window).height()
retourne toujours 0. Voir ici: stackoverflow.com/questions/12103208/...Par exemple:
Après ce fil ne fonctionne pas pour moi, pour mon besoin spécifique (défilement à l'intérieur d'un élément particulier, dans mon cas, un textarea) j'ai trouvé ceci dans l'au-delà, ce qui pourrait s'avérer utile à quelqu'un d'autre lecture de cette discussion:
Alternative sur planetcloud
Puisque j'avais déjà une version mise en cache de mon objet jQuery (la
myPanel
dans le code ci-dessous est l'objet jQuery), le code que j'ai ajouté à mon gestionnaire d'événement est simplement ceci:(merci Ben)
var d = $('#mydiv'); d.scrollTop (d[0].scrollHeight - d.height ());
Une fonction simple qui saute (instantanément manuscrits) au bas de la page entière. Il utilise le haut -
.scrollTop()
. Je n'ai pas essayé d'adapter ce de travailler avec chacun des éléments de la page.$(document).scrollTop($(document).height());
Cette une a fonctionné pour moi:
Si vous ne vous inquiétez pas au sujet de l'animation, alors vous n'avez pas à obtenir la hauteur de l'élément. Au moins dans tous les navigateurs, j'ai essayé, si vous donnez
scrollTop
un nombre qui est plus grand que le maximum, il vous suffit de faire défiler vers le bas. Afin de lui donner le plus grand nombre possible:Si vous voulez faire défiler la page, plutôt que d'un élément avec une barre de défilement, il suffit de faire
myScrollingElement
égal à 'corps, html.Car j'ai besoin de faire cela en plusieurs endroits, j'ai écrit un rapide et sale de fonction jQuery pour la rendre plus pratique, comme ceci:
Donc je peux le faire quand je ajouter un buncho " trucs:
Les scripts mentionnés dans les réponses précédentes, comme:
ou
$(window).scrollTop($(document).height());
ne fonctionnera pas dans Chrome et sera jumpy en Safari en cas
html
balise dans CSS aoverflow: auto;
ensemble de propriétés. Il m'a fallu près d'une heure à comprendre.