strano, a me funziona sia con firefox che con IE che con opera....
forse sbagli nel chiamare la funzione...
prova ad usare questo file e dimmi se ti funziona
Codice PHP:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<script type="text/javascript">
function chiudi(cosa){
if (cosa instanceof RegExp){
var collezioneDiv=document.getElementsByTagName('div');
for(var i=0,unDiv;unDiv=collezioneDiv[i];i++){
if(unDiv.id.match(cosa)) unDiv.style.display='none';
}
return;
}
document.getElementById(cosa).style.display='none';
}
</script>
</head>
<body>
<div id="co">ciao</div>
<div id="ciccio1">ciccio1</div>
<div id="ciccio2">ciccio2</div>
<div id="ciccio3">ciccio3</div>
<div id="ciccio10">ciccio10</div>
<div id="ciccio5">ciccio5</div>
<!-- ops,queste due righe non le considerare, stavo facendo esperimenti..
<span onclick="chiudi()">chiudi tutti</span>
<span onclick="chiudi('ciccio1')">chiudi</span>
-->
<span onclick="chiudi('ciccio1')">chiudi solo ciccio1, passando alla funzione l'id del tuo layer-</span>
<span onclick="chiudi(/ciccio[\\d]+/)"> chiudi tutti i div il cui id contiene ciccio con affianco un numero qualunque-</span>
<span onclick="chiudi(/ciccio(1|2|10)/)"> chiudi soltanto i div con id "ciccio1", "ciccio2" e "ciccio10"-</span>
</body>
</html>

Rispondi quotando