2009-03-19 6 views

Répondre

25

jQuery rend les choses comme ça si triviales que vous n'avez pas besoin d'un plugin. Exemple:

var x = 250; //insert your own formula to calculate where you want to scroll to in px 
var t = 500; //arbitrary time in ms 
$("html,body").animate({ scrollTop: x }, t); 

Au lieu de html,body vous pouvez mettre tout élément qui défile, comme un div. t est le temps en ms pendant lequel l'animation va s'exécuter et x est votre position pour faire défiler dans px. Notez que cela fonctionne aussi avec scrollLeft mais pas scrollRight ou scrollBottom (pas une limitation de jQuery mais JavaScript).

+2

$ ("# log-output"). Animate ({scrollTop: $ ("# log-output"). Height()}, 250); fonctionnait bien pour défiler automagiquement vers le bas d'une zone de texte. Merci! – leek

+0

'$ (" html, body "). Animate ({scrollTop: $ ('body'). Css ('height')}, 0);' défile vers le bas de la page. –

5

Vérifiez le plugin jQuery.ScrollTo, vous pouvez faire défiler à des positions déterminées (fixe ou absolue), en utilisant les sélecteurs, les éléments DOM, et plus ...

Donnez un coup d'oeil à la demos ...

8

vous pouvez toujours faire la ligne suivante pour faire défiler un élément au fond

$("body").attr({ scrollTop: $("body").attr("scrollHeight") }); 
5

Pour élaborer les réponses de Darko Z et CMS, voici ce que je faisais pour animer le défilement à un élément spécifique:

var target = $('#elem'); 
$('html,body').animate({scrollTop: target.offset().top}, 500); 
+0

Cela fonctionne très bien pour moi comme ça. Merci :) – Natim

Questions connexes