Newsgroup: it.comp.lang.javascript
Titolo: Passare come parametro il nome di un div

Ho questo problema: per motivi di spazio ho una mappa con i contorni di una
regione senza pero' la posizione dei paesi, che pero' sono elencati a
destra.
Ho creato dei div nascosti sulla posizione originale dei paesi, che
dovrebbero comparire quando passo sul nome del paese nella tabella.
Ho creato la funzione
function mostra(paese) {
 document.div[paese].hidden=false
}
solo che, ovviamente (molto piu' ovvio a voi che a me) e' sbagliata.
Come posso fare a passare come parametro il nome del div?
--
ciao
gelty
--
Visita 
http://www.sifor.it
Elimina *toglimi* per le risposte

 Come posso fare a passare come parametro il nome del div?
ti consiglio, nella mappa di scrivere una roba tipo:
<DIV ID="Bologna" style="position:absolute;">&nbsp</DIV>
e nel frame a dx:
<A HREF="#"
onMouseOver='parent.frames[1].document.Bologna.document.write("BOLOGNA");parent.frames[1].document.Bologna.document.close()'
onMouseOut='parent.frames[1].document.Bologna.document.write("");parent.frames[1].document.Bologna.document.close()'>Bologna</A>
certo che ti devi fare la funzione mostra che, come parametro, prenda
l'id del DIV, overo
function mostra(paese) {
  parent.frames[1].document.paese.document.write(paese).. ecc. ecc.
  ....
}
se non ho capito il problema.... fa lo stesso!
ciao --
-- sdrushi
--------------------------------
"Oggi ho fatto l'amore con Control, domani provo con Caps-Lock."
Michele "Sdrushi" Romagnoli
http://caristudenti.cs.unibo.it/~romagnom
roma...@cs.unibo.it
sdr...@comune.budrio.bo.it
--------------------------------

 Come posso fare a passare come parametro il nome del div?
passagli l'ID
var nIDpaese= 10;// numero dei div
 function mostra(IDpaese) {
(N4+? document.layers[IDpaese] :
document.all[IDpaese].style).visibility="visible";
for(i=0;i<nIDpaese;i++)
if(i==IDpaese)
(N4+? document.layers[IDpaese] :
document.all[IDpaese].style).visibility="visible";
else
(N4+? document.layers[IDpaese] :
document.all[IDpaese].style).visibility="hidden";
 }
anche se ritengo che dovresti scrivere quello che vuoi in
una sola div..
es:
 function mostra(testoWrite) {
if(N4+)
 document.layers[IDpaese].write(testoWrite);
else
document.all[IDpaese].innerHTML=testoWrite;
}
--
Bye
Ro<*¿*>berto

 una sola div..
Non posso, perche' ad ogni paese corrisponde un div diverso, secondo la sua
posizione sulla mappa.
Grazie comunque.


 posizione sulla mappa.
con ......top= e  ...left=
posizioni dove vuoi (ad esempio dove si trova il mouse) il
DIV che hai scritto!!
io almeno lo farei così!


 DIV che hai scritto!!
Azz... sai che mi hai dato un'idea? Quella di calcolare automaticamente la
posizione in base alla risoluzione del browser, senza rifare la pagina (o
consigliare la risoluzione...).
Grazie mille! Appena ho finito vi mostro il risultato.


> Grazie mille! Appena ho finito vi mostro il risultato.
..di nulla figurati, le critiche saranno ben accette??
:)


 ..di nulla figurati, le critiche saranno ben accette??
Quelle sempre, non si finisce mai di migliorarsi :-)


 l'id del DIV, ovvero
[...]
Era proprio quel che volevo fare, il problema pero', con 131 paesi il codice
aumenta in maniera pazzesca.
Dichiarando invece un solo div e facendo una funzione mostra() che accetta
come parametri anche top e left, elimino ben 130 righe! (Grazie a
Ro<*ż*>berto per il suggerimento)
