Newsgroup: it.comp.lang.javascript
Titolo: Un problema di posizionamento con netscape.

ciao ragazzi,
ho un problema su una function di questo tipo:
function panel(x,y) {
 document.write('<div id="panel" style="position:absolute; width:345px;
height:127px; z-index:1; left:'+x+'px; top:'+y+'px; border: 0px none
#000000;">');
  (* ----- QUELLO CHE VOIO IO ----- *)
 document.write('</div>');
}
Sostanzialmente se gli passo i valori x, y da Internet Explorer posiziona il
livello nella posizione X e Y giusti.
Se lavoro con NetScape invece non vengono rispettate le coordinate X, Y; da
ciň deduco che bisogna effettuare degli aggiustamenti nella parte dove fa:
          left:'+x+'px; top:'+y+'px;
perň non ho capito come e in che modo correggere l'eventuale errore. Chi mi
dice come correggere?
Ringrazio per la risposta, Cooper.

Questo div a me funziona perfettemante con tutto. ciao
<div id="iddiv" style="POSITION: absolute; HEIGHT: 128px; LEFT: 505px;
TOP: 215px; WIDTH: 170px; Z-INDEX: 15; VISIBILITY: visible;">pippo</div>
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Beh anche a me funziona correttamente quello che ho postato se lo metto come
HTML, ma il problema mi appare se lo inserisco all'interno di JAVASCRIPT.
Cooper.

se lo stai eseguendo dopo aver caricato la pagina prova a mettere un
document.open(); prima e un document.close(); dopo


Niente da fare :(
Riposto il codice per intero...
------------------------------
<script>
function prova() {
 document.open();
  document.write('<div id="Layer1" style="position:absolute; width:383px;
height:115px; z-index:1; left: 56px; top: 9px;"> DENTRO IL
HAVASCRIPT</div>');
 document.close();
}
</script>
<html>
<head></head>
<body>
<body>
<div id="Layer1" style="position:absolute; width:200px; height:115px;
z-index:1; left: 101px; top: 78px;">
  <script>prova()</script>
</div>
</body>
</html>
------------------------------
Su internet explorer funziona correttamente... su netscape non visualizza
nulla come se la funzione prova() non venisse mai eseguita.
Spero che in questo modo sia stato più chiaro relativamente al problema.
Ringrazio ancora, Cooper.

 #000000;">');
Uno style stampato con "document.write", nella riga del tag,
non e' digerito molto bene da Netscape4.x
meglio cosi':
<style>
.xx{border:1px solid #000000;color:red}
</style>
<script>
function panel(x,y) {
    document.write(
    document.layers?
        '<layer class=xx id="panel" position=absolute width=345px
height=127px left='+x+'px top='+y+'px>xxxxx</layer>'
    :
        '<div id="panel"
style="position:absolute;width:345px;height:127px;z-index:1;left:'+x+'px;top
:'+y+'px;border:1px solid #000000;color:red">xxxx</div>'
    )
}
panel(100,100)
</script>
Netscape4.x bordera' solo il contenuto del layer, non i confini dello
stesso,
e a questo non c' e' rimedio.
--
Ciao
  [web]   
www.gfcarlotti.it
   [mail]   
fra...@gfcarlotti.it
    [pgp]  
www.gfcarlotti.it/pgp/franco.asc

 --
Ehm scusa, che c'entrano i bordi? il mio scopo è quello di inserire
all'interno di un livello un altro livello.
Il particolare è che le posizioni del livello superiore sono scelte
dall'utente... e le posizioni del livello inferiori si devono modificare in
relazione alla posizione del livello superiore.
In explorer tutto va bene, in netscape no! Il mio problema è trovare una
soluzione per netscape, il codice postato prima è quello completo di esempio
per mostrare cosa intendevo io...  nel eventualità non fossi spiegato bene
:(
Cmq grazie lo stesso per l'interessamento, ma il problema  non è ancora
risolto :(.
Cooper.

 all'interno di un livello un altro livello.
Come fai a mettere un livello in posizione assoluta dentro ad un altro,
al massimo gli darai le stesse coordinate,
comunque, cosi' funziona, e se non ho ancora capito, passo la mano.
<script>
function panel(x,y) {
 document.write(
     document.layers?
        '<layer id="panel" position=absolute width=345px height=127px
left='+x+'px top='+y+'px>'
    :
        '<div id="panel" style="position:absolute; width:345px;height:127px;
z-index:1; left:'+x+'px; top:'+y+'px; border: 0px none #000000;">'
 );
  document.write("* ----- QUELLO CHE VOIO IO ----- *")
 document.write(document.layers?'</layer>':'</div>');
}
panel(100,100)
</script>



Scusami se te lo dico, provando a copiare il tuo codice e eseguirlo non
funziona manco su explorer...
Per renderti meglio l'idea, prova a copiare e incollare il codice completo
che ho postato io tale e quale sul tuo editor, lo salvi e lo esegui su
explorer... e osservi il risultato, poi fai lo stesso su netscape...
...noterai che la riga scritta da me, su netscape non compare, su explorer
si. Per il resto prova a variare i parametri di x e y e cosi vedi l'effetto.
Cooper.

stai parlando di netscape 4, vero? (con netscape 6.2 funziona correttamente)

testato con netscape 4.78, funziona perfettamente (anche con ie5.5sp2).
Domanda stupida: hai tolto i vari acapo strani che mette outlook express
quando hai copiato lo script che ti ha segnalato Gianfranco?


NetScape 4.7 (su win xp pro)
Cooper.
PS: Si ho fatto tutto correttamente, ma nun me va :( sarà il mio broswer che
è infollito? :)