Div con bordo lampeggiante
- Aprile 01, 2010
- by
- Donatantonio
La funzione bordo_flash permette di alternare il colore del bordo di un div in modo tale che l’effetto finale sia quello di vedere un div lampeggiante.
La funzione che segue richiede 6 parametri obbligatori:
- Id del div che vogliamo far lampeggiare
- Un valore in pixel per la grandezza del bordo
- I due codici dei colori che si alterneranno
- Il tempo massimo, in secondi, di lampeggiamento
- L’intervallo, in secondi, tra un colore e l’altro
Ecco quindi il codice della funzione bordo_flash:
var q=0; var bordo=null; var color=null; var inizial_border = null; function bordo_flash(id_tag,px_border,color_1,color_2,flash_time,flash_speed){ var the_div=document.getElementById(id_tag); if(inizial_border==null){ inizial_border = the_div.style.border; } if (color==color_1){ the_div.style.border=px_border+"px solid "+color_2; color=color_2; }else{ the_div.style.border=px_border+"px solid "+color_1; color=color_1; } q = q+flash_speed; if(q<=flash_time){ bordo = setTimeout("bordo_flash('"+id_tag+"',"+px_border+",'"+color_1+"','"+color_2+"', "+flash_time+","+flash_speed+")", flash_speed); }else{ q=0; bordo=null; color=null; the_div.style.border=inizial_border; inizial_border=null; } }
La funzione va definita all’interno dell’head della pagina dove apparirà il div lampeggiante, e quindi richiamata quando necessario.
Ad esempio, supponendo di avere un div con id=’myDiv’ :
<script type='text/javascript'> bordo_flash('myDiv',4,'#FF0000','#0000FF',500,20000); </script>
Nella chiamata precedente stiamo definendo un div chiamato myDiv con un bordo di 4px che lampeggia ogni mezzo secondo per un totale di 20 secondi. Infine il colore #FF0000 si alternerà con il #0000FF.