Newsgroup: it.comp.lang.javascript
Titolo: Perchè solo con position:absolute

Qualche tempo fa passò qui il modo di scrivere dinamicamente se un div
anche con Netscape (scusate, ma non ricordo chi fu a postarlo), e si
utilizzava il seguente pezzo di codice:
document.layers["oggetto"].document.write(testo);
document.layers["oggetto"].document.close();
dove "oggetto" è il nome del div.
Io ho fatto diverse prove e mi sono accorto che la cosa funziona
solamente nel caso abbia messo lo stile del div a position:absolute.
Ma se io non dovessi usare una posizione assoluta, ma piuttosto una
posizione relativa come faccio per far funzionare questo pezzo di
codice??? Nessuno ha qualche idea???
-- 
        _
       //\
 Bye, //--\ndrea
(
http://www.geocities.com/SiliconValley/Peaks/9739
)

...
Sono io lo "scriptore" in questione...
:)
Il problema in quel caso non era il "position:absolute", ma il posizionare il DIV in modo che non coprisse la parte sottostante di schermo, altrimenti non si poteva cliccare su un pulsante.
Purtroppo lo script non ce l'ho più e non me lo ricordo neanche tanto bene, ma se lo posti potrei anche dargli un'occhiata e dirti qualcosa.
Ciao.
Ðarius. (
www.infotronica.it/darius/
)

 Purtroppo lo script non ce l'ho più e non me lo ricordo neanche tanto bene, ma se lo posti potrei anche dargli un'occhiata e dirti qualcosa.
Quindi non so se "per caso" ti è andata bene con quel posizionamento
oppure sono io che non ho capito alcuni passaggi.
Per quanto riguarda lo script originale non l'ho più neanche io, quindi
ti mando la versione purgata di come l'ho applicato al mio caso (tanto
la funzione l'ho ricopiata praticamente inalterata) in modo da poterla
riguardare e dirmi dove sbaglio:
---------8<-------------8<---------------8<---------------8<-------------
<html>
<script language="JavaScript">
<!--
function ScriviTesto(testo)
{
   if(navigator.appName=="Microsoft Internet Explorer")
oggetto.innerText = testo;
     else {
            document.layers["oggetto"].document.write(testo);
            document.layers["oggetto"].document.close();
          }
}
//-->
</script>
<body>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="100%" align="center"><a href="link1.htm"
    onMouseOver="ScriviTesto('LINK 1')"
    onMouseOut="ScriviTesto('Dovrebbe cambiare')">Link 1</a></td>
  </tr>
  <tr>
    <td width="100%" align="center" height="100"><div id="oggetto"
    style="position:relative">Dovrebbe cambiare</div></td>
  </tr>
</table>
</body>
</html>
---------8<-------------8<---------------8<---------------8<-------------
Il discorso della tabella è abbastanza obbligato visto il layout che
avrei intenzione di dare a questa pagina, se non usassi la tabella la
soluzione l'avrei trovata.


riguardare e dirmi dove sbaglio:
Con IE4 il tuo script funziona bene, con NS invece... no. Questo è il punto di partenza.
Se imposti "position:relative", quando cambi sotto NS il contenuto del layer, ho visto che quest'ultimo viene "coperto" dalla tabella stessa.
Come facciamo? Impostiamo "position:absolute"  e tutto funziona a meraviglia, oppure mettiamo tanti <BR> nel layer da arrivare fuori dell'area di copertura della tabella e rendere finalmente visibile il testo?
Personalmente mi vergognerei a firmare un programma che fa cose tipo quest'ultima... :)
Dimmi cosa devi fare di preciso, magari si potrebbe trovare un percorso alternativo e meno insidioso...
:)
Cì@0
Ðarius. (
http://www.infotronica.it/darius/
)
-------------------------------------------------------

 Dimmi cosa devi fare di preciso, magari si potrebbe trovare un percorso alternativo e meno insidioso...
La mia idea era quella di avere i link disposti a raggiera, come i
petali di un fiore, ed al centro avere a disposizione uno spazio in cui
mettere una descrizione del link e dove porta un certo collegamento.
La prima soluzione potrebbe essere quella di mettere dei nomi ai link
più chiari, ma per questioni burocratiche non posso (vai a chiedere alla
Regione Emilia Romagna il perché), mentre la seconda che avevo pensato
potrebbe essere data da una tabella in cui includere la parte superiore
del "fiore" con una tabella, lasciare uno spazio vuoto in cui mettere il
layer e concludere il "fiore" con un'altra tabella. Purtroppo non ho
ancora avuto il tempo di provare. Terza soluzione volante: non è
possibile avere delle coordinate di profondità (tipo le zindex) anche
per i layer???
Commenti???
