Newsgroup: it.comp.lang.javascript
Titolo: layers

Ho una pagina costruita in questo modo:
<html>
<head>
<style type="text/css">
 #layer_a {position: absolute; z-index:10; visibility:hidden; left:100px;
top:100px; width:250px; height:150px; background-color:#0000F0;
layer-background-color:#0000F0;}
 #layer_b {position: absolute; z-index:10; visibility:hidden; left:100px;
top:100px; width:250px; height:150px; background-color:#0000F0;
layer-background-color:#0000F0;}
</style>
<script language="javascript">
<!--
function init(){
 if (navigator.appName == "Netscape") {
  layerRef="document.layers";
  styleSwitch="";
  }else{
  layerRef="document.all";
  styleSwitch=".style";
  }  }
function showLayer(layerName){
 eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"'); }
function hideLayer(layerName){
 eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"'); }
file://-->
</script>
<title>Prova</title>
</head>
<body onload="init()">
<p><img src="../icons/ic_help.gif" alt="Help"
onmouseover="showLayer('layer_a')" onmouseout="hideLayer('layer_a')"
WIDTH="16" HEIGHT="16"></p>
<p><img src="../icons/ic_help.gif" alt="Help"
onmouseover="showLayer('layer_b')" onmouseout="hideLayer('layer_b')"
WIDTH="16" HEIGHT="16"></p>
<div id="layer_a">
<p><font color="#FFFFFF" size="2">Testo del layer A.</font></p>
</div>
<div id="layer_b">
<p><font color="#FFFFFF" size="2">Testo del layer B.</font></p>
</div>
</body>
</html>
Il problema è questo: con Netscape non funziona!!
Dov'è l'errore??
Ringrazio in anticipo.

Ringrazio in anticipo.
Spero di esserti stato di aiuto.
--
C'ya,
 Benjamin Reilly
  |
  |
'/|\'
\\O//
//"\\
'\ /'
________________________________________TagLine___
"Quanti Angeli danzano sulla punta di uno spillo?"

Ben Reilly wrote in message:

Ho modificato il codice, seguendo i tuoi consigli, in questo modo:
<html>
<head>
<style type="text/css">
#layer_a {position: absolute; z-index:10; visibility:hidden; left:100px;
top:100px; width:250px; height:150px; background-color:#0000F0;
layer-background-color:#0000F0;}
#layer_b {position: absolute; z-index:10; visibility:hidden; left:100px;
top:100px; width:250px; height:150px; background-color:#0000F0;
layer-background-color:#0000F0;}
</style>
<script language="javascript">
<!--
function init(){
if (navigator.appName == "Netscape") {
layerRef="document.layers";
styleSwitch="";
visualizza="show";
nascondi="hide";
}else{
layerRef="document.all";
styleSwitch=".style";
visualizza="visible";
nascondi="hidden";
} }
function showLayer(layerName){
eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="'+visualizza+'"'
); }
function hideLayer(layerName){
eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="'+nascondi+'"');
 }
file://-->>
</script>
<title>Prova</title>
</head>
<body onload="init()">
<p><a href="#" onmouseover="showLayer('layer_a')"
onmouseout="hideLayer('layer_a')"><img
src="../icons/ic_help.gif" alt="Help" WIDTH="16" HEIGHT="16" BORDER="0"></a>
</p>
<p><a href="#" onmouseover="showLayer('layer_b')"
onmouseout="hideLayer('layer_b')"><img
src="../icons/ic_help.gif" alt="Help" WIDTH="16" HEIGHT="16" BORDER="0"></a>
</p>
<div id="layer_a">
<p><font color="#FFFFFF" size="2">Testo del layer A.</font></p>
</div><div id="layer_b">
<p><font color="#FFFFFF" size="2">Testo del layer B.</font></p>
</div>
</body>
</html>
... continua a non funzionare!!!
Comunque, "visible" e "hidden" dovrebbero funzionare anche con NS,  dai
un'occhiata al codice (dal quale ho preso lo spunto) di questa pagina del
sito 
HTML.IT
: 
http://www.html.it/articoli/inews/dicembre01/esempio01.htm
.
Funziona con entrambi!
Ciao


Ho trovato l'inghippo!! :-)
1) Ho lasciato "visible" e "hidden" anche per NS
2) Ho dovuto incapsulare l'immagine in un anchor.
3) A NS danno fastidio i nomi con "_", modificando (a c...) i nomi dei <div>
in "layerA" e "layerB" ha funzionato!
Grazie ;-)