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.

