Newsgroup: it.comp.lang.javascript
Titolo: Perché non funziona con Netscape ?

Mi scuso per il RePost di questa domanda, ma la prima volta Riccardo
Riccardi mi ha indirizzato al nuovo menu di Fabiano, peraltro ottimo ma che
non risponde alle mie esigenze.
Infatti, benché io voglia disporre certe informazioni in un menu ad albero,
non si tratta di un menu ma solo di informazioni disposte in ordine
gerarchico.
Dunque la mia domanda si riduce a questo : Perché lo script che segue non
funziona in Netscape ?
Vorrei poterlo utilizzare perché si tratta di qualcosa di molto semplice che
é generato da un'altro programma.
Grazie 1k
Sal
----------------------------------------------------------------------------
<HTML>
<HEAD>
<STYLE>
 body  { font-variant: normal; font-size: 10pt; font-family: Verdana;
margin-left: 2em; margin-right: 1.5em }
 h3   { font-family: verdana; font-weight: bold }
 .parent { text-indent:-1em; margin-right:1em}
 .child  { margin-left:2em;text-indent:-1em; margin-right:1em;display:none }
 .hand  { cursor:hand }
 .plus  { color: #0000FF; font-family: Verdana; text-decoration: none;
font-size: 10pt; font-weight: bold }
 .bold  { color: #000000; font-family: Verdana; text-decoration: none;
font-size: 10pt; font-weight: bold }
 .normal { color: #0000FF; font-family: verdana; font-size: 10;
text-decoration: none; font-weight: normal }
 .indent { margin-left:2em;text-indent:-1em; margin-right:1em }
 PRE   { margin:0px; display:inline }
</STYLE>
<SCRIPT>
<!--
        // Change the +/- symbol and hide the children.  This function works
on "element"
        //  displays
        function expand(e)
        {
          // find the +/- symbol
          mark = e.children(0).children(0);
          // if it is already collapsed, expand it by showing the children
          if (mark.innerText == "+")
          {
            mark.innerText = "-";
            for (var i = 1; i < e.children.length; i++)
              e.children(i).style.display = "block";
          }
          // if it is expanded, collapse it by hiding the children
          else if (mark.innerText == "-")
          {
            mark.innerText = "+";
            for (var i = 1; i < e.children.length; i++)
              e.children(i).style.display="none";
          }
        }
        // Handle a mouse click
        function click()
        {
          e = window.event.srcElement;
          // make sure we are handling clicks upon expandable container
elements
          if (e.className != "hand")
          {
            e = e.parentElement;
            if (e.className != "hand")
            {
              return;
            }
          }
          e = e.parentElement;
          // call the correct funtion to change the collapse/expand state
and display
          if (e.className == "parent")
            expand(e);
        }
        // Erase bogus link info from the status window
        function clear()
        {
          window.status="";
        }
        // Set the onclick handler
        document.onclick = click;
      --></SCRIPT>
</HEAD>
<Body class=st>
<DIV class=indent>
<DIV class=parent >
<DIV class=hand>
<A href=# onclick='return false' onfocus='clear()' class=plus>+</A>
<SPAN class=bold> Documentation Header</SPAN>
</DIV>
<DIV class=child >
<DIV class=hand>
<SPAN class=normal>Chapter1</SPAN>
</DIV>
</DIV>
<DIV class=child >
<DIV class=hand>
<SPAN class=normal>Chapter2</SPAN>
</DIV>
</DIV>
<DIV class=child >
<DIV class=hand>
<SPAN class=normal>Chapter3</SPAN>
</DIV>
</DIV>
</DIV>
<font size=1 FACE="Verdana,Arial,Helvetica" color="black">
<HR width=95% align="left">
</font>
</body>
</html>
----------------------------------------------------------------------------
---------------------

           }
style e' un attributo di IE4+ e NS6
display e' dinamico con IE4+ e NS6
[]
ecc...
Non funziona perche' usa attributi in parte proprietari di IE in parte
non utilizzati da NS4.x.
Per fare una lista a espansione che funzioni anche non NS4.x bisogna
rifare tutto, sulla traccia del menu proposto da Fabiano.
Saluti, Paolo