Newsgroup: it.comp.lang.javascript
Titolo: aiuto sono disperato!

Un saluto festoso a tutti   :-/
Sono un po' in crisi:
sto provando a fare un menu a tendina centrato, con dhtml, ma sto
incontrando non poche difficoltà... alcune delle quali mi sembrano
insormontabili... Spero di sbagliarmi! ;-/
1° problema (meno importante per il momento): ho cercato di rendere questo
menu compatibile anche con NS, ma non capisco perché alla fine si vede solo
con IE...
2° problema (mooooolto pesante): voglio fare in modo che tutti i menu che
andrò a creare utilizzino la stessa funzione per fare lo "slide" verso il
basso...
Ho fatto nel seguente modo:
quando richiamo la funzione dello "slide", passo come parametro il *nome del
layer* che voglio far apparire (o, meglio, una variabile "currDiv" il cui
contenuto varia a seconda del browser: "document.layers.nomeLayer" oppure
"document.all.nomeLayer.style").
..Esiste poi una variabile "ypos" che è uguale a "parseInt(currDiv.top)"
Il problema è che quando dico "currDiv.top = ypos" (vedi codice riportato di
seguito) mi compare un errore disastroso...
Io non riesco proprio a capire come risolvere questo casino... faccio
appello a voi!!
Grazie in anticipo e scusate la lunghezza del mex!!
.:: Stex ::.
Ecco il codice:
==============================================
<html>
<head>
 <title>Prova</title>
<script>
function init()
{
   ns4 = (document.layers) ? true:false
   ns6 = (document.getElementById) ? true:false
   ie = (document.all) ? true:false
   if (ns4)
   {
      head = document.layers.headDiv;
      main = document.layers.mainDiv;
      menu2 = document.layers.menu2Div;
   }
   else if (ie)
   {
      head = document.all.headDiv.style;
      main = document.all.mainDiv.style;
      menu2 = document.all.menu2Div.style;
   }
   // Larghezza delle immagini (serve per calcolare la centratura)
   mainLarg = parseInt(main.width);
   menu2Larg = parseInt(menu2.width);
   headLarg = parseInt(head.width);
   // Posiziona il menu al centro
   center = (document.body.clientWidth/2);   file://dimezza la larghezza
della finestra
   head.left = center - (headLarg/2);
   main.left = center - (mainLarg);
   menu2.left = center;
   // Definisce il posizionamento verticale del menu (startY deve essere =
al Top definito nei fogli di stile)
   startY = -65;
   main.top = startY;
   menu2.top = startY;
}
function slideTo(currDiv,y)
{
   ypos = parseInt(currDiv.top);
   // alert (ypos);
   if (ypos == startY)
   {
      goOn(currDiv,ypos,y);
   }
}
function goOn(currDiv,ypos,y)
{
   if (ypos < (startY + y))
   {
      alert(currDiv);
      ypos += 10;
      currDiv.top = ypos;
      setTimeout('goOn(' +currDiv+ ',' +ypos+ ',' +y+ ')',3);
   }
}
function fadeOut(divName)
{
   ypos = parseInt(divName.top);
   if (ypos > startY)
   {
      ypos -= 10;
      divName.top = ypos;
      setTimeout('fadeOut(' +divName+ ')',2);
   }
}
</script>
</head>
<body onload="init()" onresize="init()">
<!-- Questo è il layer che contiene le immagini sul cui Rollover viene
attivato il menu -->
<div id="headDiv" align="center" style="font-family: verdana; font-size:
10px; position: absolute; z-index: 500; left: 10; top: 0; width: 600;
background-color:white; layer-background-color:white;">
<br><a href="#" onmouseover="slideTo(main,100)"><img src="titolo.gif"
width="200" height="23" border="0" alt=""></a><a href="#"
onmouseover="slideTo(menu2,100)"><img src="titolo2.gif" width="200"
height="23" border="0" alt=""></a>
</div>
<!-- Questo maxi-layer contiene un'immagine sul cui RollOut viene chiamata
la funzione fadeOut;
il layer con i links è pi piccolo di quest'immagine -->
<div id="mainDiv" style="font-family: verdana; font-size: 10px; position:
absolute; z-index: 100; left: 10; top: -65; width: 200; height:100;
background-color:#dbdbdb; layer-background-color:#dbdbdb;">
<img src="images/ghost.gif" width="200" height="100"
onmouseout="fadeOut(main)">
   <!-- Layer contenente i links -->
   <div id="links" style="position:absolute; left:10; top:0; bottom:3;">
   <table cellpadding="0" cellspacing="0" border="1" width="180">
      <tr>
         <td><a href="#">Link1</a></td>
      </tr>
      <tr>
         <td><br></td>
      </tr>
      <tr>
         <td><a href="#">Link2</a></td>
      </tr>
      <tr>
         <td><a href="#">Link3</a></td>
      </tr>
   </table>
   </div>
</div>
<!-- Questo maxi-layer contiene un'immagine sul cui RollOut viene chiamata
la funzione fadeOut;
il layer con i links è pi piccolo di quest'immagine -->
<div id="menu2Div" style="font-family: verdana; font-size: 10px; position:
absolute; z-index: 100; left: 10; top: -65; width: 200; height:100;
background-color:#dbdbdb; layer-background-color:#dbdbdb;">
<img src="images/ghost.gif" width="200" height="100"
onmouseout="fadeOut(menu2)">
   <!-- Layer contenente i links -->
   <div id="links2" style="position:absolute; left:10; top:0; bottom:3;">
   <table cellpadding="0" cellspacing="0" border="1" width="180">
      <tr>
         <td><a href="#">Link1</a></td>
      </tr>
      <tr>
         <td><br></td>
      </tr>
      <tr>
         <td><a href="#">Link2</a></td>
      </tr>
      <tr>
         <td><a href="#">Link3</a></td>
      </tr>
   </table>
   </div>
</div>
</body>
</html>
============================================

Se non l'avevi quotato potevo copiarlo e fare qualche controllo........
cosě non ho voglia di cancella re la quotatura di ogni
riga..........:-))))))
cmq su 
http://www.dxml.it
  - javascript , c'č un menů che č poi anche il
menů sulla sinistra
della home page di  
http://www.aticommerce.com
 ,
che č scaricabile e probabilmente simile a quello che stai realizando
tu.......
se ti puň servire per prendere degli spunti , prendilo pure...
--
andreotta fabiano
WebMŞster ATI POWER s.n.c.
andr...@atipower.it
http://www.aticommerce.com
  (new)
http://www.atipower.it
http://www.jsdir.com
http://www.dxml.it
  (u.c.)

 wrote in message
9evh0f$1cpmf$1...@ID-57211.news.dfncis.de...


suppongo tu sappia esaminare uno script!!
vai a quest'indirizzo ti lascio per una settimana da oggi
questo file:
www.atecomputers.it/prove/cbdhtml.js
 (17.837 B)
c'è dentro tutto quel che vuoi, io l'ho usato e l'ho modificato,
tra un pò troverai il mio sito funzionante nella maniera che
vorresti tu, con sfondi a ciascun layer, per ora ho funzionante
la versione per IE e sto cercando di capire il funzionamento
in NN che a dire la verità un pò rompi .....
a presto.
--
~~~~~~~~~~~~~~~~~~~~~~~~~
A.T.E. COMPUTERS
tel.080/5559674 fax 080/5503355
web: 
www.atecomputers.it
e-mail : 
in...@atecomputers.it
~~~~~~~~~~~~~~~~~~~~~~~~~