Newsgroup: it.comp.lang.javascript
Titolo: non capisco

ho questo script:
<script language="JavaScript">
   <!--
    function Menu() {
     var F;
     F = document.all[event.srcElement.getAttribute("F",false)];
      if (null != F) {
       F.className = F.className == "closed" ? "root" : "closed";
      }
    }
   //-->
  </script>
  <style type="text/css">
   .closed { display: None; }
  </style>
 </head>
<body>
<basefont size="2" face="Tahoma">
<div F="menu1" onClick="Menu();" style="font-weight: Bold; cursor:
Hand;">Voce principale 1</div>
 <div class="closed" id="menu1">
  &nbsp;<a href="link1.htm" onFocus="this.blur()">Link 1</a><br>
  &nbsp;<a href="link2.htm" onFocus="this.blur()">Link 1</a><br>
  &nbsp;<a href="link3.htm" onFocus="this.blur()">Link 1</a><br>
</div>
in teoria ed anche in pratica quando clicco su "Voce principale 1" compaiono
i link1 link2 link3 immediatamente al di sotto spostando sotto di 3 righe
tutto quello che viene dopo nella pagina. ( un menu ad albero come gestione
risorse insomma!! ) e fin qui tutto ok!!
se volessi sostituire il testo "Voce principale 1" con una immagine cosa
devo fare?
e poi .. sempre se non chiedo troopo chi mi spiega bene questa sintassi???
( faccio un po di confusione )
F = document.all[event.srcElement.getAttribute("F",false)];
      if (null != F) {
       F.className = F.className == "closed" ? "root" : "closed";
    }
ho capito che "F" quando cliccato assume come valore di riferimento "menu1"
ma cosa significa :("F",false)?
e come interpreto---  F.className = F.className == "closed" ? "root" :
"closed";
grazie mille un neofita della situazione!!

 "closed";
Per la prima non so dirti sorry, per questa in sintesi:
il costrutto
variabile = (condizione)?SeVero:SeFalso
e' un "operatore ternario" ed equivale a:
if (condizione)
   F = SeVero
else
   F = SeFalso
Quindi nel tuo caso ad F viene associato un valore ("closed" o "root") a 
seconda che F.className sia uguale a "closed".
Di fatto il valor di F.className viene invertito rispetto al valore attuale.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

questo script non fa altro che aprire una pagina html , ridimensionarla e
scrivere all'interno del tag <div id="contenuto"> la stringa "aaaaaaaaaa"
come mai mi da errore proprio su
:NewWin.document.getElementById("contenuto").innerHTML='aaaaaaa';
eppure  il comando è giusto! e funziona se lo isolo all'interno di un button
( dopo che ovviamente la finestra è aperta)
Sembra quasi che il browser non riesce a trovare l'elemnto perchè la pagina
non è stata ancora completamente caricata! posso allora attivare il comando
solo quando la "pagina passata" è realmente stata caricata?
<script language="JavaScript">
var NewWin=null;
function J_ApriFinestra(htmlpage,pagename,x,y){
  ppts ="width="+x;
 ppts+=",height="+y;
 ppts+=",location=NO";
 ppts+=",titlebar=YES";
 ppts+=",screenX=0px";
 ppts+=",screenY=0px";
 ppts+=",alwaysRaised=no";
 ppts+=",fullscreen=NO";
 ppts+=",scrollbars=no";
 NewWin = window.open(htmlpage,pagename,ppts);
 NewWin.focus();
 NewWin.document.getElementById("contenuto").innerHTML='aaaaaaa';
 }