Newsgroup: it.comp.lang.javascript
Titolo: tendine che non si raccolgono...

Ciao a tutti... sono piuttosto acerbo di javascript... diciamo pure che non
ne so una cippa! Ho comunque creato un menu a tendina che funziona anche
bene, se non per il fatto che non spariscono le tendine quando il puntatore
le abbandona per navigare altrove...
In pratica mi servirebbe una funzione che nasconda il layer della tendina
una volta uscitone.
Qualcuno č cosě gentile (e anche bravo) da potermi aiutare?
Grazie.
KiM;)

> Qualcuno è così gentile (e anche bravo) da potermi aiutare?
Oltre ciò deve saper anche leggere le carte per indovinare il tuo
sorgente... :-)
Scherzi a parte, un menù così puoi farlo in moltissimi modi, a seconda di
come è fatto la procedura sarà diversa
In generale immagino devi utilizzare l'evento onmouseover del div (o simile)
che visualizza la singola voce per chiudere il menù

Per vedere il codice sorgente puoi cliccare qui:
http://www.infotouch.it/provo
a me serve, come si può ben vedere, qualcosa di simile ad un "onmouseout"
che però applicato al livello non mi da nessun risultato. Per ora me la sono
cavata con un "onclick" applicato al body che mi nasconda tutti i livelli,
ma mi rendo conto che non è il massimo... Se mi puoi aiutare te ne sono
grato!
Ciao, KiM;)

non ce la faccio, la sintassi di dremweaver o simili č fatta apposta per
tirar scemo chi cerca di leggerla...
Consiglio: se lavori con dreamweaver devi poi accettare i suoi script e
quindi i suoi limiti, se vuoi modificarli mi sa che fai prima a farteli te
da zero
p.s. in generale onClick sul body non č niente male come idea, se non
ricordo male lo uso anch'io per chiudere i menů, in combinata con onmouseout
sui menů e l'uso di cancelbubble

 sui menů e l'uso di cancelbubble
Nel div metti:
onMouseOut="MM_showHideLayers('NOMEDIQUESTOLAYER','','hide')"
*dovrebbe* funzionare
quindi il tuo Layer1 diventa
<div id="Layer1" style="position:absolute; width:100; height:45; z-index:1;
left: 0px; top: 15; background-color: #0033CC; layer-background-color:
#0033CC; border: 1px none #000000; visibility: hidden"
onMouseOut="MM_showHideLayers('Layer1','','hide')">
LAMASE

> onMouseOut="MM_showHideLayers('NOMEDIQUESTOLAYER','','hide')"
Avevo già provato ma il risultato è che mi nasconde il layer al passaggio
del mouse... come se fosse un "onmouseover" togliendo di fatto la
possibilità di navigare nella tendina!
Grazie per l'aiuto ma a questo punto qualcuno di voi sa fare lo stesso menu
da 0 usando javascript? Ve ne sarei veramente grato!!!
A presto,
KiM;)

su 
www.jsdir.com
 ci sono svariati esempi di menů

Prova a mettere un layer che contiene tutto il menů e a gestire tramite
l'evento onmouseover di quest'ultimo la chiusura del menu'.

> Prova a mettere un layer che contiene tutto il menů
Provata anche questa ma nessun risultato.... grazie lo stesso! :-(

 possibilità di navigare nella tendina!
A mali estremi...
LAMASE
//_________________________//
<html>
<head>
<title>esperimento</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="stile.css" type="text/css">
<script language="JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if
((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight;
onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
location.reload();
}
MM_reloadPage(true);
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++)
x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++)
x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null)
{ v=args[i+2];
    if (obj.style) { obj=obj.style;
v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
</head>
<body bgcolor="#003366" text="#000000" leftmargin="0" topmargin="0"
marginwidth="0" marginheight="0">
<div id="Layer1" style="position:absolute; width:100; height:45; z-index:1;
left: 0px; top: 15; background-color: #0033CC; layer-background-color:
#0033CC; border: 1px none #000000; visibility: hidden"
onMouseOut="MM_showHideLayers('Layer1','','hide')"
onMouseOver="MM_showHideLayers('Layer1','','show')">
  <table width="100" border="1" cellspacing="0" cellpadding="0" height="45">
    <tr>
      <td class="bianco">1A</td>
    </tr>
    <tr>
      <td class="bianco">1B</td>
    </tr>
    <tr>
      <td class="bianco">1C</td>
    </tr>
  </table>
</div>
<div id="Layer2" style="position:absolute; width:100; height:45; z-index:2;
background-color: #0099FF; layer-background-color: #0099FF; border: 1px none
#000000; left: 100; top: 15; visibility: hidden"
onMouseOut="MM_showHideLayers('Layer2','','hide')"
onMouseOver="MM_showHideLayers('Layer2','','show')">
  <table width="100" border="1" cellspacing="0" cellpadding="0" height="45">
    <tr>
      <td class="bianco">2A</td>
    </tr>
    <tr>
      <td class="bianco">2B</td>
    </tr>
    <tr>
      <td class="bianco">2C</td>
    </tr>
  </table>
</div>
<div id="Layer3" style="position:absolute; width:100; height:45; z-index:3;
background-color: #00CCFF; layer-background-color: #00CCFF; border: 1px none
#000000; left: 200; top: 15; visibility: hidden"
onMouseOut="MM_showHideLayers('Layer3','','hide')"
onMouseOver="MM_showHideLayers('Layer3','','show')">
  <table width="100" border="1" cellspacing="0" cellpadding="0"
class="bianco" height="45">
    <tr>
      <td class="bianco">3A</td>
    </tr>
    <tr>
      <td class="bianco">3B</td>
    </tr>
    <tr>
      <td class="bianco">3C</td>
    </tr>
  </table>
</div>
<div id="Layer4" style="position:absolute; width:100; height:45; z-index:4;
background-color: #3399FF; layer-background-color: #3399FF; border: 1px none
#000000; left: 300; top: 15; visibility: hidden"
onMouseOut="MM_showHideLayers('Layer4','','hide')"
onMouseOver="MM_showHideLayers('Layer4','','show')">
  <table width="100" border="1" cellspacing="0" cellpadding="0" height="45">
    <tr>
      <td class="bianco">4A</td>
    </tr>
    <tr>
      <td class="bianco">4B</td>
    </tr>
    <tr>
      <td class="bianco">4C</td>
    </tr>
  </table>
</div>
<div id="Layer5" style="position:absolute; width:100; height:45; z-index:5;
background-color: #3333CC; layer-background-color: #3333CC; border: 1px none
#000000; left: 400; top: 15; visibility: hidden"
onMouseOut="MM_showHideLayers('Layer5','','hide')"
onMouseOver="MM_showHideLayers('Layer5','','show')">
  <table width="100" border="1" cellspacing="0" cellpadding="0" height="45">
    <tr>
      <td class="bianco">5A</td>
    </tr>
    <tr>
      <td class="bianco">5B</td>
    </tr>
    <tr>
      <td class="bianco">5C</td>
    </tr>
  </table>
</div>
<table border="1" cellspacing="0" cellpadding="0" height="15"
bgcolor="#006699" width="500">
  <tr>
    <td class="bianco">
      <div align="center"><a href="#" class="bianco"
onClick="MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3',''
,'hide','Layer4','','hide','Layer5','','hide')"
onMouseOver="MM_showHideLayers('Layer1','','show','Layer2','','hide','Layer3
','','hide','Layer4','','hide','Layer5','','hide')">menu1</a></div>
    </td>
    <td class="bianco">
      <div align="center"><a href="#" class="bianco"
onClick="MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3',''
,'hide','Layer4','','hide','Layer5','','hide')"
onMouseOver="MM_showHideLayers('Layer1','','hide','Layer2','','show','Layer3
','','hide','Layer4','','hide','Layer5','','hide')">menu2</a></div>
    </td>
    <td class="bianco">
      <div align="center"><a href="#" class="bianco"
onClick="MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3',''
,'hide','Layer4','','hide','Layer5','','hide')"
onMouseOver="MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3
','','show','Layer4','','hide','Layer5','','hide')">menu3</a></div>
    </td>
    <td class="bianco">
      <div align="center"><a href="#" class="bianco"
onClick="MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3',''
,'hide','Layer4','','hide','Layer5','','hide')"
onMouseOver="MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3
','','hide','Layer4','','show','Layer5','','hide')">menu4</a></div>
    </td>
    <td class="bianco">
      <div align="center"><a href="#" class="bianco"
onClick="MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3',''
,'hide','Layer4','','hide','Layer5','','hide')"
onMouseOver="MM_showHideLayers('Layer1','','hide','Layer2','','hide','Layer3
','','hide','Layer4','','hide','Layer5','','show')">menu5</a></div>
    </td>
  </tr>
</table>
</body>
</html>