Ciao a tutti.
Non capisco perchè, l'animazione della testata del mio sito (http://afservice.altervista.org), si avvia solo dopo un refresh alla pagina...
L'animazione si tratta di una semplice transizione sfumata di colori sulla scritta della testa. Il problema è che quest'effetto, compresa la vera e propria comparsa della scritta (che in realtà non è altro che un immagine con sfondo nullo), non appaiono alla prima richiesta della pagina ma solo dopo un refresh o uno spostamento ad un'altra pagina interna.
Non riesco a capire dove sia il problema...
Credo sia per il fatto che disegni l'immagine sul canvas prima che sia caricata del tutto. La seconda volta funziona poiché il browser l'aveva registrata nella cache.
Disegna il tutto una volta che l'immagine manda l'evento onload.
P.s.: perché non hai usato SVG? Un altro consiglio: nell'HTML metti l'immagine, poi con il javascript sostituiscila con il canvas animato. Così viene visualizzata anche da chi non supporta (o ha disabilitato) il javascript. Così facendo elimini anche document.all, che non si può vedere.
Ultima modifica di karl94 : 20-12-2010 alle ore 16.10.28
Una risposta favolosa: grazie al tuo consiglio ho risolto. Ho sostituito il tag <canvas> con il tag <img> che viene poi rimodificato in canvas attraverso lo stesso JS. Solo due curiosità:
1) Non mi è chiaro come potrei togliere il document.all; Se infatti sono sotto Explorer, avrei problemi: l'istruzione della modifica di tag la legge (cioè <img> viene sostituito da <canvas> se non metto l'istruzione di verifica), ma una volta generato il canvas, si bloccherebbe.. (per chiarezza guarda ora come è strutturato lo script )
2) Ignoravo completamente le SVG, e ora sono andato a guardarmi come funziano. Niente male come idea, ma non capisco come potrei applicarci sopra l'effetto di trasformazione
Comunque sia io ti ringrazio vivamente per avermi risolto un problema su cui sbattevo la testa da tempo. Grazie infinite!
Ultima modifica di afservice : 21-12-2010 alle ore 15.12.25