Halo![]()
Dopo solo pochi giorni torno a infliggervi i miei dubbi![]()
Sto cercando di creare un forum che abbia una visualizzazione delle risposte "twitter-like" al posto delle solite pagine.
Appena aperto un post vengono mostrate 20 risposte, scrollando la pagina in basso, arrivati alla fine della scrollbar, scatta l'"event" che fa caricare le successive 20 risposte. Fin qui tutto ok.
Il problema sta nel fatto che la funzione chiamata dallo scroll event viene eseguita più di una volta, e in questo modo fa visualizzare 40 (60, 80..) risposte, invece di altre 20.
Il codice che ho utilizzato è questo:
(utilizzo prototype 1.7)
Il problema fondamentale sembra essere il fatto che quando nella pagina lo scroll si trova alla fine parte la funzione, si aggiungono gli elementi e quindi anche la posizione della scrollbar cambia (va più in alto), però nel frattempo la funzione è partita già 2 o 3 volte.codice:Event.observe(window, 'scroll', function scrolled() { var body = document.body, html = document.documentElement; var heightscrollfor = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight ); //altezza totale dello scroll var altdoc1 = window.outerHeight; //altezza del browser var altdoc2 = window.pageYOffset; //posizione dello scroll var altdoc3 = altdoc1 + altdoc2; if ( altdoc3 >= heightscrollfor ) { $('visaltripost').innerHTML='[img]images/index2/loading.gif[/img]'; scrolledToBottom(); return false; } });
Cosa posso fare per risolvere?![]()
Grazie in anticipo y.y

Rispondi quotando