Newsgroup: it.comp.lang.javascript
Titolo: div position relative

ciao NG e buon anno
all'interno di un td ho inserito una serie di div di cui uno solo visibile e
posizionati esattamente uno sopra l'altro. Faccio poi apparire i div
successivi con una operazione di rollover. Ecco il codice:
<div style="position:relative; top:0px; height:500px; visibility: visible">
<div style="position:relative; top:-500px; height:500px; visibility:
hidden">
ecc
tutto funziona, a parte una cosa antiestetica: la scrollbar laterale diventa
molto lunga perché "sente" la presenza di tutti i layer e a fondo pagina si
crea uno spazio bianco molto lungo. Non c'è un sistema per risolvere questo
problema?
grazie
Michele

 ha scritto nel messaggio
news:9790337...@tango.comm2000.it...


 problema?
usa la proprieta' CSS 'display' facendole assumere i valori 'block' o 'none'
NS4 non la riconosce per cui devi sniffarlo e per esso accontentarti del tuo
risultato attuale
ciao
--
    Federico Sasso &8v>
 
http://www.crt.unige.it/jsSQL
    The jsSQL Project - JavaScript Database and SQL Engine

ringrazio tutti e due per la risposta esauriente.
ora perņ ho problemi a modificare le proprietą del layer a partire
dall'evento mouse.
ho provato
onClick="document.all.inizio.display='none'"
(dove inizio č l'ID del layer)
ma il layer non scompare.
dove sbaglio?
grazie
Michele
Federico Sasso <federi...@techCUTHISnologist.com> wrote in message
93eq3f$bjq$1...@news.IT.net...


risolto, mancava style
onClick="inizio.style.display='none'"
grazie
Michele

 dove sbaglio?
onClick="HideLayer('inizio');"
dove
function HideLayer(aDiv)
{
  var el;
  if (document.layers) // NS4
  {
    el = document.layers[aDiv];
    el.visibility = 'hide'; // nota: qui imposto la visibility
  }
  else if (document.all)   // IE4+
  {
    el = document.all[aDiv];
    el.style.display = 'none';
  }
  else if (document.getElementById) // IE5+, NS6+, Mozilla/Gecko
  {
    el = document.getElementById(aDiv);
    el.style.display = 'none';
  }
}
l'ho scritto di getto, spero di non avere fatto errori.


grazie molto utile, soprattutto per lo sniffing e le caratteristiche di
IE5+, NS6+ che mi erano sconosciute.
Mi rimane perņ ancora un problema: non riesco a visualizzare i layer che
partono con display:none
ho provato con tutti i parametri indicati nella guida di Netscape
inizio.style.display='block'
inizio.style.display='inline'
inizio.style.display='list-item'
senza alcun risulatato
come posso fare?
grazie
Michele

 partono con display:none
ma con che browser hai questo problema?
non ho tempo per fare prove, ma l'unico che puo' darti problemi e' NS4.x
se cosi' fosse, prova una cosa:
mettili tutti a 'block' (e tranne il primo anche tutti hidden) ed all'onLoad
fai eseguire una funzione init() dove li setti tutti a 'none' (tranne il
primo) e 'visible'


dopo varie prove, seguendo i consigli, ho risolto così:
i layer non hanno nessuna indicazione sulla visibilità e hanno solo
display:'none'.
per visualizzare i layer uso l'evento
onClick="inizio.style.display=''"
e li nascondo nuovamente con
onClick="inizio.style.display='none'"
Tutto ciò testato unicamente su Explorer, per NN visualizzo ancora layer in
posizione assoluta
ciao
Michele