INDICE

CREARE UNO SFONDO LAMPEGGIANTE

La richiesta ci è sembrata insolita: infatti uno sfondo intero che lampeggia, secondo il nostro punto di vista, è piuttosto fastidioso da vedere.
Avevamo comunque deciso di rispondere alla domanda ugualmente, in quanto ognuno ha i suoi gusti...Pensandoci meglio, abbiamo immaginato che invece, se si aggiunge un effetto di lampeggiamento, magari abbastanza lento, solo ad una parte della pagina iniziale, questa può servire, ad esempio, per mettere in evidenza qualcosa.

Anche questa volta, per ottenere il risultato, dobbiamo far ricorso al linguaggio JavaScript, con tutte le cautele di cui abbiamo già parlato.

Ecco comunque il codice:
<head>
<SCRIPT LANGUAGE="JavaScript">
function colore1(){
sfondo.document.bgColor = "navy"
attesa = window.setTimeout("colore2()",1000);
}
function colore2(){
sfondo.document.bgColor = "red"
attesa = window.setTimeout("colore1()",1000);
}
function avvia(nuovo)
{
sfondo = nuovo
attesa = window.setTimeout("colore1()",1000);
}
</SCRIPT>
</HEAD>
<body bgcolor=red onLoad="avvia(self)">
</body>
</html>

Ed ecco il risultato!

Analizziamo il codice passo per passo. L'istruzione
<body bgcolor=red onLoad="avvia(self)">
attiva la funzione avvia(self) appena la pagina viene caricata (onLoad).


function avvia(nuovo)
{
sfondo = nuovo
attesa = window.setTimeout("colore1()",1000);
}
Il comando window.setTimeout attiva la funzione colore1( ) per un tempo di 1000 millisecondi, cioè di un secondo. Se si vuole un processo più veloce, basta diminuire questo intervallo.

function colore1(){
sfondo.document.bgColor = "navy"
attesa = window.setTimeout("colore2()",1000);
}
La funzione colore1( ) rende lo sfondo color navy, e a sua volta chiama la funzione colore2( )

function colore2(){
sfondo.document.bgColor = "red"
attesa = window.setTimeout("colore1()",1000);
}
La funzione colore2() rende lo sfondo rosso e chiama a sua volta la funzione colore1( ).

Ogni processo ha la durata di un secondo. Abbiamo qui un esempio di ciclo infinito, che cioè viene interrotto solo quando si carica una nuova pagina.
Anche se si preme il tasto termina il ciclo non si interrompe, a differenza di quanto avviene con le gif animate.


INDIETRO

©2002 www.webfract.it