Newsgroup: it.comp.lang.javascript
Titolo: Un aiuto con il DOM di Navigator

Vi prego aiutatemi...sto "traducendo" un mio sito con del dHTML da Explorer
a Navigator e credo di essere prossimo al suicidio!
Dunque, lo scoglio da superare dovrebbe essere banalissimo:
Ho un'immagine alla quale vorrei associare un event handler. Dai miei
esperimenti pare che non sia possibile, cioč se provo a richiamare una
funzione direttamente da dentro il tag <IMG> con, chenneso, onMouseOver, non
succede un bel niente.  Giusto ??
Allora ho provato a metterci intorno un bel <DIV>...una cosa del genere:
<DIV ID="wrapper" onMouseOver= "swappatore()"><IMG SRC="image.gif"></DIV>
E neppure questo funziona!!!!
Alla fine ho scoperto che riesco a far riconoscere l'handler usando <A
HREF>...cosa di per se delirante: mi rifiuto di credere che per avere un
event handler riferito a una immagine su Navigator si sia obbligati a far
figurare quell'immagine come un link..che cosa sto sbagliando??
Ma i miei problemi non sono mica finiti, dato che avrei la pretesa (!?!) di
posizionare questa immagine piů o meno al centro della pagina. Ho provato a
impostare una dichiarazione di CSS usando come selettore #wrapper: a quanto
pare l'immagine si sposta, ma si perde il riconoscimento dell'event
handler!!
AIUTO!!!!!
matteo

L'evento onMouseOver viene gestito solo per i tag <A HREF> ed <AREA>.
Mi spiace ma non c'è nulla da fare.






E cosa mi dici di <LAYER> ? Converebbe usarlo?
Comunque, in parte ho rimediato... ho buttato giů questa specie di "panino
imbottito":
<DIV ID="contenitore">
  <A HREF="pagina.htm" NAME="ancora" onMouseOver="swapper()">
     <IMG SRC="immagine.gif" NAME="imago">
  </A>
</DIV>
A quanto ho capito, ho bisogno di <DIV> per posizionarlo con CSS, nel senso
che ho anche una dichiarazione del tipo:
#contenitore { position : absolute ; top : 30% ; left : 30% }
<A> mi serve invece per far riconoscere l'event handler onMouseOver...a
questo proposito ho notato una cosa molto strana...ditemi se sbaglio: ho
provato a fare a meno del <DIV>, usando direttamente l'ancora come selettore
del CSS...ho cambiato NAME in ID appunto per farlo riconoscere al foglio di
stile, perň cosě facendo č vero che mi viene posizionato, perň ho perso il
"supporto" dell'event handler !!  :-((
Mi piacerebbe avere le idee piů chiare in materia, perň per ora mi
accontento che funzioni...il problema adesso č che non riesco ad accedere
alla sorgente dell'immagine.
In altre parole, la funzione swapper() richiamata dovrebbe cambiare la SRC
dell'immagine...ma siccome ho infilato <IMG> dentro gli altri tag, adesso
non sono capace ad arrivarci!!
Io pensavo che bastasse indicare l'immagine, come in Explorer
(document.all.imago.src), invece se provo a scrivere
document.images["imago"].src ottengo un javascript error. L'idea che mi sono
fatto č che sia necessario indicare tutta la trafila dei vari elementi entro
cui l'immagine č contenuta, ma di preciso non so cosa fare!! Ho provato a
scrivere "document.[nome]" per ognuno (quindi <DIV>.<A>.<IMG>) perň non
va...AIUTOO!!!!!!
maghetto

va...AIUTOO!!!!!!
L'idea che hai avuto non è così sbagliata... ma sei andato un po' troppo
avanti
immaginanando che il programmatore pazzo di NS sia totalmente pazzo :-)
Mentre MSIE tratta tutti gli oggetti della pagina sullo stesso livello,
anche quelli che si trovano all'interno di layers (che in IE si identificano
con <DIV>), NS invece tratta ogni laver come un documento a parte, quidndi
quello da fare è:
document.contenitore.document.imago.src
questo dovrebbe andare....
Saluti
SIMO

questo dovrebbe andare....
Va, va...
CheDioTiBenedica..!!
Allo stesso tempo ho risolto un (urgente) problema pratica e mi sono
leggermente schiarito le idee su Navigator !!
GRAZIE!!
maghetto
PS: visto che ormai ti ho nominato mio angelo salvatore, che ne dici del mio
messaggio "Gif animate precaricate" del 13 scorso?