Ciao ragazzi,
durante queste vacanze mi sono dilettata di giochi con il dom.

Ho creato dei menù dinamici simpatici ^___^

Ma mi è rimasto un piccolo cruccio: è possibile che riesco a far cambiare solo un attributo alla volta ad un elemento ID?


Quello che volevo fare era dare anche un background-color diverso alla voce di menù cliccata oltre al colore marrone.
Dite che si può? Ho fatto alcune prove, ma mi dà una serie di errori.

Grassie!

Ecco posto lo script e la porzione di codice che lo richiama:

javascript:
function showBlock(idhref, elemento) {

//alert("id elemento= " + idhref + " - elemento: " + elemento);

/* array di possibilità esistenti - questo decide di mostrare dei blocchi o meno dipende dal link che si è premuto */
var nome = new Array ("dati","scoll","peo","ctt","tratt","off","doc","o rd","event");

for(i=0; i < document.getElementsByTagName("div").length; i++) {

var idel = document.getElementsByTagName("div").item(i).getAt tribute("id");

for (j = 0; j < nome.length; ++j) {

if (idel != idhref) {
document.getElementById(idel).style.display='none' ;
} else {
document.getElementById(idel).style.display='block ';
}
}
}

/* qui invece gli dico di prendere tutti i link che hanno l'id e se è quello cliccato di colorarlo in rosso.. altrimenti gli altri toglie l'attributo */

for(l=0; l < document.getElementsByTagName("a").length; l++) {
var namel = document.getElementsByTagName("a").item(l).getAttr ibute("id");
if (namel != '') {
if (namel == elemento) {
document.getElementById(namel).style.color="#80000 0";
} else {
document.getElementById(namel).removeAttribute('st yle');
}
}
}
}
Ora tutto ciò funziona alla grande ^__^

questo è il pezzo di codice del menù:


<table cellspacing=0 cellpadding=0 width="100%" border=0 bgcolor="#c0c0c0">
<tr>
<td nowrap width=80>Dati anagrafica </td>
<td nowrap width=80>Soc.Collegate </td>
<td nowrap width=80>Persone</td>
<td nowrap width=80>Contatti</td>
<td nowrap width=80>Trattative </td>
<td nowrap width=80>Offerte </td>
<td nowrap width=80>Documenti </td>
<td nowrap width=80>Ordini </td>
<td nowrap width=80>Eventi </td>
<td width="100%"> </td>
</tr>
</table>
E qui un esempio di richiamo dei blocchi:
(lo script richiama dei blocchi predefiniti in un js .. ma è solo testo)
<div align="center" id="scoll" style="display: none; width:100%;">
<script language="JavaScript">document.write(bscoll);</script>
</div>