come gestire i css con javascript

mat80matteo

Nuovo Utente
14 Nov 2005
2
0
0
Salve ragazzi vispiego il mio problem..
Allora io ho dei bottoni che rimandano a del testo...io dovrei fare questo:ogni vlta che premo un bottone il testo corrispondente si evidenzia con lo stile applicatogli dai css...come si fa?
 
ecco il codice a grandi linee

<HEAD>
<style type="text/css">
.normale { color:E0DADA; }
.speciale { color:black; }
</style>
<SCRIPT LANGUAGE="JavaScript">
function cambia(id)
{
switch(id){
case 1:
document.all.primo.className = "speciale";
document.all.secondo.className = "normale";
document.all.terzo.className = "normale";
document.all.quarto.className = "normale";
document.all.quinto.className = "normale";
document.all.sesto.className = "normale";
break;
case 2:
document.all.secondo.className = "speciale";
document.all.primo.className = "normale";
document.all.terzo.className = "normale";
document.all.quarto.className = "normale";
document.all.quinto.className = "normale";
document.all.sesto.className = "normale";
break;
case 3:
document.all.secondo.className = "normale";
document.all.primo.className = "normale";
document.all.terzo.className = "speciale";
document.all.quarto.className = "normale";
document.all.quinto.className = "normale";
document.all.sesto.className = "normale";
break;
case 4:
document.all.secondo.className = "normale";
document.all.primo.className = "normale";
document.all.terzo.className = "normale";
document.all.quarto.className = "speciale";
document.all.quinto.className = "normale";
document.all.sesto.className = "normale";
break;
case 5:
document.all.secondo.className = "normale";
document.all.primo.className = "normale";
document.all.terzo.className = "normale";
document.all.quarto.className = "normale";
document.all.quinto.className = "speciale";
document.all.sesto.className = "normale";
break;
case 6:
document.all.secondo.className = "normale";
document.all.primo.className = "normale";
document.all.terzo.className = "normale";
document.all.quarto.className = "normale";
document.all.quinto.className = "normale";
document.all.sesto.className = "speciale";
break;
default:
document.all.primo.className = "speciale";
}
}

</SCRIPT>
</HEAD>
<BODY>
<P CLASS="speciale" ID="primo" onMouseover="cambia(1)">Text</P> <BR> <BR>
<span class="normale" id="secondo" onMouseover="cambia(2)">text2</span><br><br>
<span class="normale" id="terzo" onMouseover="cambia(3)">text3</span><br><br>
<span class="normale" id="quarto" onMouseover="cambia(4)">text4</span><br><br>
<span class="normale" id="quinto" onMouseover="cambia(5)">text5</span><br><br>
<span class="normale" id="sesto" onMouseover="cambia(6)">text6</span><br><br>
<form>
<input type="button" onClick="cambia(1)" >
<input type="button" onClick="cambia(2)" >
<input type="button" onClick="cambia(3)" >
<input type="button" onClick="cambia(4)" >
<input type="button" onClick="cambia(5)" >
<input type="button" onClick="cambia(6)" >
</form>
<A HREF="javascript:cambia('primo')">Cambia stile!</A>
</BODY>
</HTML>


l'effeto c'è ma si può scrivere una funzione piu corta?
 
Prova la mia creazione...
forse non è un sistema elegantissimo ma...
se vuoi semplifica quella serie di brutti IF con il case...
spero funzioni :byebye:


<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function cambia(id)
{
var testo_da_modificare = document.getElementById('testo')
if(id==1)
{
testo_da_modificare.style.color="red";
};
if(id==2)
{
testo_da_modificare.style.color="green";
};
if(id==3)
{
testo_da_modificare.style.color="blue";
};
};

</SCRIPT>
</HEAD>
<BODY>
<em id="testo">Questo è il testo da modificare...</em>
<br>
<br>
<input type="button" onClick="cambia(1)" style="background-color: red;" value="Rosso">
<input type="button" onClick="cambia(2)" style="background-color: green;" value="Verde">
<input type="button" onClick="cambia(3)" style="background-color: blue;" value="Blu" >
</BODY>
</HTML>
 

Discussioni simili