2010-02-16 13 views
23

Esiste un modo per scorrere in modo programmatico all'inizio di una pagina con jQuery? Attualmente sto cercando di farlo con il seguente codice ma non funziona. Sto usando Firefox attualmente,JQuery scorrere fino all'inizio della pagina

$(window).scrollTop($(document).height()); 

risposta

54

Prova questa:

$('html, body').animate({scrollTop: '0px'}, 300); 

si può fare questo con 0 invece di 300 essere immediato, ma questo dà un effetto di auto-scorrimento veloce.

+0

Volevo che il widget di dialogo jQueryUI per scorrere verso l'alto al momento del lancio e questo è esattamente quello che stavo cercando. Grazie. –

3

Basta aggiungere uno snippet alla bella risposta di Nick. Questo mostra il tuo elemento "scorri verso l'alto" solo dopo che l'utente ha fatto scorrere verso il basso la pagina alcuni, cioè in stile Pinterest.

$("#scroll_to_top_button").hide(); // hide on page load 

    $(window).bind('scroll', function(){ 
    if($(this).scrollTop() > 200) { // show after 200 px of user scrolling 
     $("#scroll_to_top").slideDown("fast"); 
    } 
    }); 
3

Non c'è bisogno di jQuery qui. Utilizzare origini:

window.scrollTo(x-coordinate, y-coordinate);

Si noti che questo non ha alcun controllo sulla parte animata (durata, ecc), che jQuery fornisce

0
$('a[href^="#"]').on('click', function(event) { 

var target = $(this.getAttribute('href')); 

if(target.length) { 
    event.preventDefault(); 
    $('html, body').stop().animate({ 
     scrollTop: target.offset().top 
    }, 1000); 
} 

});

Aggiungere questo al codice HTML

<div id="top"></div> 
<a href="#top">Click to scroll up</a> 
Problemi correlati