A dire il vero mancano tutti gli escape oppure il forum li ha tolti: ""a" non va bene, dovrebbe essere "\"a" se il forum mi passa il back-slash prima della seconda virgoletta.
codice:
<html>
<head>
<style type="text/css">
#mioLiv {
position:absolute;
background-color:orange;
width:300px;
height:20px;
border:1px;
visibility:visible;
}
</style>
<script type="text/javaScript">
function inizializza(){
if (document.all) {
// creo le variabili per la sintassi di IE
documento="document.all";
/* notare le virgolette precedute dall'escape ("),
* che si sono rese necessarie, per mantenere inalterata
* la sinassi e per non incorrere in errori
*/
parA="[\"";
parB="\"]";
visibilita=".style.visibility";
nascosto="\"hidden\"";
visibile="\"visible\"";
}
else if (document.layers){ //NN4
documento="document.layers";
parA="[\"";
parB="\"]";
visibilita=".visibility";
nascosto="\"hide\"";
visibile="\"show\"";
}
else if (document.getElementById) { // Opera e NN6
documento="document.getElementById";
parA="(\"";
parB="\")";
visibilita=".style.visibility";
nascosto="\"hidden\"";
visibile="\"visible\"";
}
}
function nascondi() {
/* eseguo l'istruzione tramite eval,
come somma di variabili */
eval(documento+parA+"mioLiv"+parB+visibilita+"="+nascosto+";");
}
function mostra() {
/* istruzione identica alla precedente,
soltando che rende visbile */
eval(documento+parA+"mioLiv"+parB+visibilita+"="+visibile+";");
}
inizializza(); //lancio la funzione che inizializza le variabili
</script>
</head>
<body>
nascondi il livello
mostra il livello
<div id="mioLiv">
</DIV>
</body>
</html>