Newsgroup: it.comp.lang.javascript
Titolo: Forse c'è un modo più semplice? :)

Non ditemi che c'è un modo più semplice(utilizzando meno righe di codice)
per fare tutto questo.
Se si,  mi direste come? Grazie
<!--
 testo_name=new Array('Testo 1','Testo 2','Testo 3','Testo 4');
 var i=0;if (document.layers)
{mostra="show";nascondi="hide";left1=625;top1=130;width1=142;height1=112}
 if (document.all)
{mostra="visible";nascondi="hidden";left1=629;top1=135;width1=122;height1=10
2}
 while(testo_name.length>i){name="name"+i;
 document.writeln("<STYLE><!--");
 document.writeln("#"+name+"{"+
 "  position: absolute;"+
 "  visibility:"+nascondi+";"+
 "  overflow:"+nascondi+";"+
 "  left: "+left1+"px;"+
 "  top: "+top1+"px;"+
 "  width: "+width1+"px;"+
 "  height: "+height1+"px;"+
 "  color:black;"+
 "  z-index:6;"+
 " }");
 document.writeln("// --> </style>");
 document.writeln("<div id='" +name+"'><div align='Justify'><font
face='Garamond' size='2'><b>"+testo_name[i]+"</b></font></div></div>");
 i++;
 }
 function getName(num){
  if (document.layers){
  name="name"+num;divObj=eval('document.'+name);
  return(divObj)}
  else if (document.all){
  name="name"+num;
  divObj=eval('document.all.' + name + '.style');
  return(divObj)}
  }
 function showDivIn(num){
  divObj=getName(num);
  divObj.visibility=mostra;return;
  }
function showDivOut(num){
  divObj=getName(num);
  divObj.visibility=nascondi;return;
  }
// -->
ciao
Ricoa

Se si,  mi direste come? Grazie
Per esempio così: (per la verità si potrebbe semplificare ancora qualche byte sostituendo i nomi dei DIV con i loro indici, ma... non ne avevo più voglia... :D
L'ho provato su IE4 e NS4.5 con successo, quindi presumo vada bene anche con i loro "parenti stretti"...
:)
<html>
<head>
<script>
<!--
var testo_name=new Array('Testo 1','Seconda riga','penultima','CiaoooooooooooooooooooaiC.<br>By Ðarius!'),
brw=document.all?1:0;
document.writeln("<STYLE><!-- .tipoS{position:absolute;visibility:hidden;overflow:hidden;left:"+eval(625+4*brw)+";top:"+eval(130+5*brw)+";width:"+eval(122+20*brw)+";height:"+eval(112-10*brw)+";color:black;z-index:6;} // --></style>");
function switchDiv(num,OnOff){
    eval('document.'+(!brw?'':'all.')+'name'+num+(!brw?'':'.style')).visibility=Array("hide","hidden","show","visible")[OnOff*2+brw];
}
// -->
</script>
</head>
Fin qui lo script "riscripto". Ti mando anche il BODY, che imposta i layers, richiama la funzione per mostrare|nascondere le scritte e imposta lo stile delle stesse...
<body>
<script>
for (i=1;i<=testo_name.length;i++)
    document.writeln("<div id='"+"name"+i+"' class='tipoS' align='Justify'><font face='Garamond' size='2'><b>"+testo_name[i-1]+"</b></font></div>");
for (var j=1;j>=0;j--)
for (i=1;i<5;i++)
  document.writeln("<a href='javascript:switchDiv("+i+","+j+")'>Text #"+i+Array("Off","On")[j]+"</a>"+(i==4?"<br>":""));
document.close();
</script>
</body>
</html>
Cì@0
Ðarius. (
http://www.infotronica.it/darius/
)
-------------------------------------------------------

>Se si,  mi direste come? Grazie
Per esempio così: (per la verità si potrebbe semplificare ancora qualche
byte sostituendo i nomi dei DIV con i loro indici, ma... non ne avevo più
voglia... :D
L'ho provato su IE4 e NS4.5 con successo, quindi presumo vada bene anche con
i loro "parenti stretti"...
:)
Cì@0
Ðarius. (
http://www.infotronica.it/darius/
)
-------------------------------------------------------
Muchas grazias spero si dica così.
Altrimenti .....grazie Ðarius.