Newsgroup: it.comp.lang.javascript
Titolo: resettare un stile

Come posso fare?
Ho creato un menu dinamico al quale ho associato questo style
.Sottocategoria {
font-family: Verdana, Arial, Helvetica, sans-serif;
Font-size: 9px;
color: #713d04;
cursor: hand;
font-syle: normal;
}
Quando clicco una voce, con questa funzione cambio il colore della font
della relativa riga (e fin qui tutto ok!), ma vorrei anche resettare tutte
le altre righe al colore iniziale.
Le righe fanno parte di una tabella della quale non ne conosco la dimensione
in quanto generata dinamicamente.
Ho provato a dare un ID alla tabella, e quindi resettarla tutta al colore
iniziale, ma non funziona
Come posso fare?
function CambiaCol(id,col){
document.getElementbyId('Tabella').style.color='#713d04';
//la riga sopra non funziona, mentre con backgroundcolor lo sfondo cambia !
el.= document.getElementbyId(id);
el.style.color=col;
}
.

 }
Effettivamente una cosa cosi' viene ignorata:
<td
onclick="document.getElementById('Tabella').style.color='#000';this.styl
e.color='#EEE'">ciao</td>
Guarda mi sa' che mi sfugge qualcosa, ora ho n mal di testa e non lo
vedo :(

 Attento! Non mettere el.=.... il punto non ci vuole...
Attento, il quoting..
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
Tutti quelli che credono nella psicocinesi, per favore alzino la mia mano.

> Attento, il quoting..
Perche'?!?

Ho fatto un errore di battitura, scusate.
il punto non ci va
Queste due righe funzionano,
====================
el= document.getElementbyId(id);
el.style.color=col;
=================
 ossia cambiano il colore (col) della riga passata con id
esempio CambiaCol('Row11','red')
Il problema è che se clicco un'altra riga ne ho due righe red, mentre voglio
far tornare la prima al colore iniziale dello stile, cosa che non riesco a
fare.

 fare.
Eh, ho provato anch'io e non ci sono riuscito... :(
Credo che dovresti agire su tutti i td... Comunque vediamo se a qualcuno
viene in mente qualcosa...

viene in mente qualcosa...
Forse qualcosa del tipo:
var lastel=null;
var oldcolor="";
[...]
if(lastle!=null){
	lastel.style.color=oldcolor;
}
lastel=el;
oldcolor=el.style.color;
el.style.color=col;
[...]
'bye

 Perche'?!?
hai quotato una marea di roba in piu`, ed inoltre le righe di quote sono
state wrappate rendendo il tutto illeggibile.
-- 
Splendente in eta` acerba di passione
Rosso fiammante
Ma senza eta` matura
Marcia impostura

 document.getElementbyId('Tabella').style.color='#713d04';
"getElementById", javascript e` case sensitive
per resettare tutte le altre devi farti un ciclo e rimetterle a posto.


 fare.
Basta che tu imposti a blank lo style e lui ti recupera i valori originari
della classe:
var prev=null;
/* .. */
/* funzione di click */
function menuclick(id){
	/* .. */
	var el=document.getElementById(id);
	/* se c'e' un elemento selezionato in precedenza, ripristino il color */
	if (prev)
		prev.style.color="";
	/* imposto l'elemento */
	prev=el;
	/* imposto il colore */
	el.style.color="red";
}
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
Le donne si dividono in 4 categorie: le suore (non la danno a nessuno);
le puttane (la danno a tutti); le stronze (la danno a tutti tranne che
a te); le rompiballe (la danno a te e solo a te).

 ha scritto nel messaggio
news:kjvfwex3...@ID-171124.news.individual.net...


 (invertendo le ultime due righe)
Quali, queste?
prev=el;
el.style.color="red";
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"Nei film americani, qualsiasi problema che venga considerato
sufficientemente catastrofico, puo' essere risolto facendo esplodere uno
o piu' ordigni nucleari" (ZER0 & Cosimo)
Now playing: "in tutti i miei giorni"

Si, prima imposto la riga al colore che voglio, poi imposto prev al valore
di questa riga in modo che al click successivo  resetto prev ,imposto la
nuova riga, reimposto prev al valore della nuova riga
Grazie
o meglio es:
OnClick="CambiaCol('Row1d4','white');""
<script>
var prev=null;
function CambiaCol(id,col){
el = document.getElementById(id);
if(prev){
prev.style.color='';
prev.style.background='';
}
el.style.color=col;
el.style.background='#713d04';
prev = el;
}
</script>

 el.style.background='#713d04';
E' la medesima cosa.. per quello mi chiedevo come mai avessi cambiato
ordine.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
Un computer e' fondamentalmente stupido.
Non fa cio' che vuoi che faccia, ma cio' che gli dici di fare.
Solo, e' uno stupido dannatamente veloce.
Now playing: "suteki da ne"

 ha scritto nel messaggio
news:zw8yf4f9...@ID-171124.news.individual.net...
