Newsgroup: it.comp.lang.javascript
Titolo: Re: Immagini che scorrono - ahime'

 Grazie a chi vorra` aiutarmi. :)
a far cosa?
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

 Grazie a chi vorra` aiutarmi. :)
La butto lì: io metterei le immagini nel div e, appena l'immagine più a
sinistra "scompare", la rimuoverei e la appenderei di nuovo al div,
cosicché si sposti in coda. Non so se funziona e non saprei darti, ora, i
dettagli :)
-- 
Nando [?]
Apostolo della Prova

 rifare tutto in modo elegante.
Non mi pare che l'approccio sia sbagliato, anzi, è l'unico modo di
ottenere un buono scroller javascript che sia un minimo cross-browser
(l'ho testato anche con FF e mi pare che vada tutto bene).
Inoltre la funzione moveElement si preoccupa di distruggere i div
"usati" che non si vedono più, quindi non vai ad occupare un'eccessiva
quantità di memoria.
L'effetto è fluido e "flash-like", direi un ottimo lavoro.
Considera inoltre che un utente medio difficilmente passa sull'homepage
di un sito vetrina come questo molto tempo di navigazione, più
facilmente andrà sulle altre pagine o uscirà dal sito.
Direi quindi che non hai nulla di cui preoccuparti :)
Lone

 muovono contemporaneamente e un po' sfasati.
Più che altro alleggeriresti non poco la memoria; però complicheresti un po'
lo script. In questo modo infatti dovresti cambiare le coordinate di ogni
singola immagine durante lo spostamento, e non solo quella del div
contenitore.
Inoltre, un consiglio. Non clonare né rimuovere alcunché: "appendi"
direttamente l'immagine, usando il riferimento diretto a quella appena
scomparsa, essa si sposterà da sola.
Nel caso, sviluppando, ti rendessi conto che gestire le singole immagini ti
risulta più complicato o lento, puoi tornare allo script attuale,
ottimizzandolo un poco:
Quando crei il div contenitore, clonalo subito per crearne un secondo.
In questo modo ne avrai sempre due, non dovrai né fare operazioni di
rimozione o di cloning ogni volta che deve riniziare il ciclo, ma un
semplice e diretto "appendChild" del div in testa.
Ti faccio presente anche un approccio del tutto diverso:
Componi tutte le immagini che ti servono in un'unica immagine, e impostala
come background del div. Imposta "repeat-x" da CSS, e invece di spostare il
div cambia le coordinate del background stesso. L'unica accortezza, sarebbe
sincronizzare un po' lo spostamento in modo tale da "resettare" le
coordinate, per evitare che l'offset raggiunga coordinate negative
improponibili.
Ma alla ripetizione dell'immagine ci penserebbe direttamente il CSS engine.
Se le immagini possono essere dinamiche ( mi riferisco al "numero
imprecisato" di cui sopra ) potresti sempre optare per generare l'unica
immagine in questione lato server.
-- 
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 Ma alla ripetizione dell'immagine ci penserebbe direttamente il CSS engine.
Wow.


 Wow.
Perché "wowwi"? :) Non mi sembra di aver detto niente che tu non sapessi
già.
E questo approccio ha il grosso limite di dover avere le immagini fuse in
unica sola, se queste sono dinamiche (senza considerare le differenze di
performance tra i vari browser); ma volevo comunque far presente una strada
alternativa.


 alternativa.
Mi piacciono tutte le cose semplici e lineari; di certo anche questa
soluzione, come tutte, ha i suoi inconvenienti, ma è così... come dire?...
insomma, "semplice".


 Grazie mille di tutto, sei come sempre prezioso!
De nada.
