Newsgroup: it.comp.lang.javascript
Titolo: Posizione di un layer: sogno o è possibile?

Ciao a tutto il gruppo,
    mamma quanto tempo che non scrivo qui :))
Dunque, premettendo che mi sono un po' arrugginito con js, mi serve uno
script che mi verifichi la posizione di un layer... avevo pensato a qualcosa
di simile:
<script type="text/javascript">
<!--
function ctrl() {
    if
(document.getElementById("prova").style.getAttribute("left")=="150px") {
        alert("tutto ok");
    }else {
        alert("qlcs non va");
    }
}
window.onload=ctrl;
//-->
</script>
<div id="prova" style="position:absolute; top:20px; left:150px;">
Ciao, sono una prova
</div>
Il problema, è che qualunque fonte esterna (di problemi) possa spostare il
layer, lo script non riesce a verificare la reale posizione del layer, ma
solo il valore di left (tra l'altro solo con MsIE). Ovviamente questo valore
resta sempre 150px.
E' possibile risalire alla reale posizione del layer senza star lì a
verificare il valore di left?
Ad esempio, già togliendo position:absolute dallo stile, la distanza dal
margine sinistro cambia... eppure il valore impostato *sarebbe* 150px. C'è
una soluzione o sogno un mondo migliore? :-P
Grazie e buone feste.
--
Ro!
Roberto Abbate - Risorse.net.

 una soluzione o sogno un mondo migliore? :-P
Che io sappia, senza "position:absolute", o "relative",
non puoi rilevarene la posizione, e nemmeno darla, (Anche se metti "top" e
"left").
L' unico modo che so', per rilevare, e dare,  la posizione e', ad es.:
<script type="text/javascript">
function posizione() {
    alert(document.getElementById("prova").style.left);
}
function muove() {
document.getElementById("prova").style.left=eval('parseInt(document.getEleme
ntById("prova").style.left)'+(arguments[0]?'+':'-')+'50')
}
</script>
<body>
<div id="prova" style="position:relative; top:20px; left:150px;">Ciao, sono
una prova </div>   <br><br><br>
<a href='javascript:;' onclick='muove(true)'>avanti</a><br>
<a href='javascript:;' onclick='muove(false)'>indietro</a> <br>
<a href='javascript:;posizione()'>posizione()</a>
</body>
Funziona con tutti i browser che supportano "document.getElementById".
 <E' possibile risalire alla reale posizione del layer senza star lì a
 <verificare il valore di left?
Credo di no.
--
Ciao
  [web]   
www.gfcarlotti.it
   [mail]   
fra...@gfcarlotti.it
    [pgp]  
www.gfcarlotti.it/pgp/franco.asc

 Grazie e buone feste.
Ciao Rob, ne ho parlato nel primo articolo dev2DEV.it su Go!OnLine 
giusto un annetto fa nel numero di febbraio.
Se ti serve riposizionare un layer in un design in percentuale, l'unica 
soluzione che ho trovato (crossbrowser tra l'altro... che e' meglio :-) 
e' stata quella di immergere nel documento uno span che fa da ancora, e 
posizionare il layer in base alla posizione dell'ancora:
http://www.jsdir.com/goonline/gol0202.asp
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

 
http://www.jsdir.com/goonline/gol0202.asp
Ciao Ric,
    ti spiego brevemente a cosa mi serve quello script che sto cercando di
realizzare.
Sai quel sito in XHTML 1.1 che stiamo ultimando? Bene, ha parecchi controlli
e verifiche dinamiche server side per far sì che "si gestisca da solo" anche
a livello di errori... ma volevo qualcosa di più avanzato dal punto di vista
client side.
In breve: io non posso sapere se l'utente stia visualizzando correttamente
la pagina, allora ho pensato, l'unico sistema che ho, è quello di verificare
che alcuni layer (anche uno solo) si trovino nella posizione corretta. Se
non lo fossero, mostro un prompt all'utente (una volta sola, tramite cookie)
in cui gli dico, più o meno:
"Gentile utente: un controllo automatico ha rilevato un errore nella
visualizzazione del sito. Vuoi che venga inviato un alert al web developer?"
Premendo su sì, apro una pagina di schedulazione dei dati (user agent, ora e
data) così, mi faccio una statistica dei problemi riscontrati e posso poi
risolverli andando ad agire su quei browser e quegli OS che mi creano
difficoltà.
Ora, volevo sapere: sto sognando, oppure esiste un qualche work around?
Insomma... si può sapere l'esatta posizione del mouse, e non di un layer?
Cia'.


 Insomma... si può sapere l'esatta posizione del mouse, e non di un layer?
Stai sognando :-)))))
Credo che ti stai riproponendo con l'XHTML gli stessi problemi che fino 
a poco fa ci ponevamo con HTML4 e cioe': la resa grafica del documento.
La resa finale... dipende... come dice qualcuno ^_^


 La resa finale... dipende... come dice qualcuno ^_^
Ok ok... ci ho tentato :)))
Buone feste di nuovo. Ro!
--
A presto!
Roberto e Alessandro Abbate
Moderatori di it.comp.www.html
http://www.Risorse.net
, 
http://MigliorHosting.it

 dovresti trovarci tutto il necessario per farlo.
Faccio subito. Grazie e buone feste. Ro!
