2012-09-24 20 views
5

Eventuali duplicati:
Javascript: do an action after user is done scrollingcome sapere evento Scroll ha finito con jQuery

l'evento Scroll quando l'utente inizia a scorrere la pagina, giusto? Come sapere se è finito, allora? Voglio chiamare una funzione dopo che lo scorrimento è terminato. Qualcuno ha qualche idea?

Grazie!

P.S. Con jQuery, per favore, ma anche il puro JS va bene.

+0

No. Un evento 'scroll' si attiva ogni volta che la pagina ha spostato un singolo pixel. Dai un'occhiata a [fire scroll event solo una volta al secondo] (http://stackoverflow.com/q/9613594/1048572) – Bergi

+0

@ FrançoisWahl Non voglio usare $ .doTimeout – Mahdi

+0

@Bergi grazie, ma hai qualche riferimento per quello? Sembra che si accenda solo quando inizi a scorrere e non continuamente ... – Mahdi

risposta

8

È possibile ottenere ciò utilizzando setTimeout. puoi cambiare il valore di timeout (im usando 100) in base alle tue esigenze.

var timeoutId; 
$(selector).scroll(function(){ 
    if(timeoutId){ 
     clearTimeout(timeoutId); 
    } 
    timeoutId = setTimeout(function(){ 
    // your code 
    }, 100); 

}); 
+0

Grazie, c'è un altro modo tranne che per impostare Timeouts? Voglio dire qualcosa di nativo e originariamente per quello? – Mahdi

+1

timeout * sono * nativi, non c'è alcun plugin. –

+0

@Mahdi al momento non c'è. – Christoph

Problemi correlati