2010-01-23 30 views

Odpowiedz

90
$('a[href=#top]').click(function(){ 
    $('html, body').animate({scrollTop:0}, 'slow'); 
}); 

Być może?

+1

Czy jest jakiś pomysł, dlaczego '$ ('html, body')' jest wymagane? Próbowałem go z '$ (okno)', ale nie wydawało się, aby miało jakiś efekt, który spodziewałbym się, że widząc jako (jeśli dobrze pamiętam) jest to obiekt okna, który śledzi pozycję przewijania? –

+6

Okno jest veiwport, ale musisz animować dokument HTML, również nie potrzebujesz body $ ("html"). Animate ({scrollTop: $ ("# what_id_you_want_to_go_to"). Offset(). Do góry}, 1200); – fullstacklife

+2

Myślę, że potrzebujesz 'body', ponieważ' html' nie będzie działać we wszystkich przeglądarkach. –

10

Po przekazaniu 50 jako drugiego parametru do animacji, czyli 50 milisekund. Zobacz dokumentację animate. Albo podaj większą liczbę, albo jak sugeruje c0mrade, po prostu przekazuj "wolno".

0

można ustawić czas do przewijania górze

$('a[href=#top]').click(function(){ 
$('body').animate({ 
    scrollTop: 0},4000);}); 
0
$('a[href=\\#top]').click(function(){ 
    $('body').animate(
    { 
     scrollTop: 0 
    }, 
    2000 
); 
}); 

the # należy uciekł \\ #.

Powiązane problemy