2012-06-20 16 views
7

ho ricevuto un codice jQuery da questo link (fondo pagina): How to scroll to top of page with JavaScript/jQuery?Scorrere fino a quando la pagina di carico

Perché non basta usare qualche elemento di riferimento, proprio all'inizio del file HTML, come

<div id="top"></div> 

e poi, quando la pagina viene caricata, semplicemente fanno

$(document).ready(function(){ 

    top.location.href = '#top'; 

}); 

Se i rotoli del browser dopo questa funzione incendi, è sufficiente fare

$(window).load(function(){ 

    top.location.href = '#top'; 

}); 

ora, tutto funziona, ma non in Google Chrome! come posso risolvere questo codice per google chrome? e come posso aggiungere un'animazione a questo codice? come velocità di scorrimento o veloce, lento ecc ...

risposta

17

Se si utilizza jQuery, è possibile utilizzare scrollTop per scorrere. È un metodo, ma può anche essere animato. Ecco la documentazione: jQuery API Documentation for scrollTop

Si può usare in questo modo:

$("html,body").scrollTop(0); 

O per l'animazione:

$("html,body").animate({scrollTop: 0}, 1000); 

è possibile impostare questo in ogni gestore di eventi:

$(document).ready(function() 
{ 
    $("html,body").animate({scrollTop: 0}, 1000); 
} 

oppure:

$(window).load(function() 
{ 
    $("html,body").animate({scrollTop: 0}, 1000); 
} 
+0

Il targeting del tag HTML e del tag del corpo dovrebbe funzionare correttamente in Chrome. – lewiguez

+0

grazie. ora come posso aggiungere velocità o animazione per questo codice? top.location.href = '#top'; – Alireza

+0

Non puoi per quanto posso indovinare. Non stai impostando una proprietà scalare in modo che non possa essere animata. Fondamentalmente, un'animazione è solo un ciclo che incrementa un valore. Questo è solo l'impostazione di un valore per qualcosa che non può essere incrementato. Ora puoi trovare la posizione verticale dell'elemento #top e scrollTop in quella posizione verticale. Lo faresti impostando scrollTop nel codice di animazione fornito non su 0, ma sul valore di posizione verticale. – lewiguez

0

(vi consiglio la risposta lewiguez ha dato in pratica, ma ancora non so perché il metodo non ha funzionato in Google Chrome.)

che sembra funzionare per me, io non sono sicuro per quanto riguarda il carico della finestra però. Ho provato la vera linea "top.location.href" attraverso il click di un link.

$('#bottomlink').click(function(){ 
    top.location.href="#top"; 
    return false; 
}); 

Questo è vicino alla parte superiore della pagina.

<p id="top">lorem ipsum</p> 

E questo è il collegamento in fondo alla pagina.

<a id="bottomlink" href="#">Bottom Link</a> 
+0

ho bisogno di uno scroll aotomatico dopo il caricamento della pagina. è wroking, ma non in chrome non ho bisogno di un link anchor o qualcosa di simile.o ho bisogno di scorrere per ancorare il caricamento automatico dopo la pagina.io lo ho ma il mio problema è google chrome! – Alireza

+0

Hai controllato la console per eventuali errori in Chrome ? –

+0

Ok, ho messo id = "top" nel body tag, ora tutto funziona ... ora come posso aggiungere velocità o animazione per questo codice? Top.location.href = '#top'; – Alireza

Problemi correlati