Newsgroup: it.comp.lang.javascript
Titolo: perchènon funziona????


Questa è una parte della pagina in questione
Perchè non mi sposta niente????

 Perchè non mi sposta niente????
Leggi su'.
Questa e' una versione un "po'" piu' corretta:
<html>
<head>
 <title></title>
<script type="text/javascript" language="JavaScript1.2">
 function menu(){
// document.all.layer0.moveToAbsolute(50,300)
	var pObj=document.getElementById("layer0");
 
	pObj.style.left=50;
	pObj.style.top=300;
 
 }</script>
</head>
<body topmargin=0 leftmargin=0 rightmargin=0 cellspacing=0 cellpadding=0>
<div id="layer0" style="position:absolute;top:200px ;left:200px
;width:120;height:100">
<table width="100%" border="0" cellspacing="0" cellpadding="2" height="20"
id="mytable" style="border:1px solid blue">
     <tr>
	 	<td>
			<a  href="
www.google.it
"  target="_blank" 
 
onMouseOver="document.getElementById('mytable').style.borderColor='red'"
 
onMouseOut="document.getElementById('mytable').style.borderColor='blue'"
				onClick="menu()">aa</a>
		</td>
	</tr>
</table>
</body>
</html>
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

moveToAbsolute dove lo hai preso? Forse era proprietario di netscape4...

 ha scritto nel messaggio
news:btm92s$89rm2$1...@ID-147253.news.uni-berlin.de...


 ha scritto nel messaggio
news:btm92s$89rm2$1...@ID-147253.news.uni-berlin.de...


 ha scritto nel messaggio
news:btm92s$89rm2$1...@ID-147253.news.uni-berlin.de...


 Devo cambiare tutto  o c'è qualcosa di giusto?
Ma controllare anche il mio post ti fa tanto schifo? :)



hai pienamente ragione...L'ho guardato in velocità e non mi ero accorto che
c'era la soluzione bella e pronta.
<table width="100%" border="1" cellspacing="0" cellpadding="2" height="20"
id="mytable" bgcolor="white">
     <tr style="border-size=1"> <a  href="
www.google.it
"  target="_blank"
onMouseOver="document.all.mytable.borderColor='red'"
onMouseOut="document.all.mytable.borderColor='white'"  onClick="menu()"  >
      <td id="mytable">ciccio</td>
 </a>
    <tr>
</table>
Che differenza c'è tra id= e name=?
Quello che conta e id dentro al tag <td> giusto?
Perchè se non metto .all non funziona? Devo usare il getElementByid per fare
una cosa che funziona anche con Netscape?
Mi potresti dare un indicazione per una valida guida a javascript che così
magari evito di fare ste domande stupide e banali?
Scusami se ti faccio tutte queste domande ma ho appena cominciato ad usare
javascript!!
Grazie ancora

 magari evito di fare ste domande stupide e banali?
Quel che ti posso dire io e' di leggerti le varie reference, e articoli
riguardo javascript, DOM, e compagnia bella.
Qualcosa trovi qui:
http://devedge.netscape.com/
e ovviamente su:
http://www.w3c.org
anche se quest'ultimo non e' di immediata comprensione.


 che faresti piu' facilmente con altri oggetti.
Vi spiego per filo e per segno che cosa vogliio fare.
Devo creare un menù scorrevole di quelli che quando ci vai sopra col mouse
si colora il bordo della cella e quando clicchi sopra che ne so alla voce
uno del menu
le restanti voci del menù si abbassano facendo quindi comparire le sottovoci
del menù 1
Stato iniziale
|------------|
|    menu1     |
|------------|
|   menu2      |
|------------|
onClick="menu()"
|------------|
|    menu1     |
|------------|
  sottovoce1
 sottovoce2
sottovoce3
|------------|
|   menu2      |
|------------|
L'idea che mi era venuta era quella di usare un layer per ogni menu, che
contenesse una tabella in cui la prima cella conteneva (riferendomi
all'esempio) menu1 e le altre celle le sottovoci. Sovrapponendo i vari layer
potevo far si che non si vedessero le sottovoci dei vari menu e poi quando
si andava a cliccare, attraverso la funzione menu() (che mi ero scritto),
spostavo tutti i layer più bassi di quanto mi servova per far comparire le
sottovoci(num di  celle menu* num di pixel per cella che compone il menu).
Quindi mi servono due id credo uno per il layer (per indicare il layer da
spostare (che userò nel ciclo for per spostare tutti i layer)) e uno per la
cella di cui voglio colorare il bordo.
Questo è quanto. il problema è che non sapevo di preciso come fare in
javascript a procurarmi i dati relativi alla posizione degli oggetti (in
questo caso i layer):
avevo trovato qualcosa del tipo
document.nomelayer.top
Poi ho letto il vostro post e mi sono accorto che stavo leggendo(me idiota)
una reference riferita a NN4 la stessa dove avevo trovato per l'appunto il
metodo  MoveToAbsolute che avevo usato come prova per vedere se la pagina
non funzionava per colpa della funzione menu() scritta da me o per qualche
altro motivo.
una domanda
Si può sovrapporre le tabelle senza usare i layer?
Grazie ancora

 Grazie ancora
Nel DOM W3C non c'e' questa differenza tra "layer" ed elementi, del resto
nell'altro codice che ti ho dato si e' spostato una tabella direttamente.



L' idea era proprio questa.
Per farla pensavo di usare un ciclo for che mi spostasse i layer per esempio
di un un pixel alla volta modificando la proprietà top del layer se non
sbaglio.
supponendo di avere 3 menu
for (i=0 ;i=numsottovoci[c]*20 ;i=i+2){
for (i=c+1 ;i=nummenu;i++){
layer="layer"+x
document.getElementById(layer).style.top=((document.getElementById(layer).st
yle.top)+2)
}}
aperto=x
dove
c   è il parametro che passo alla funzione che mi indica il menu da
"aprire"(quindi in sostanza il layer che deve rimanere fermo e dopo il quale
devo spostare)
numsottovoci è un array dove gli elementi indicano quante sottovoci
corrispondono ad ogni menu
nummenu indica il numero totale dei menu e quindi dei layer
aperto è una variqabile che mi terrà memorizzato il menu che è aperto e che
andrò a chiudere con un ciclo simile a questo
20 è (a caso) l'altezza di una singola cella
E' meglio che cambio idea?

 E' meglio che cambio idea?
Non e' una cosa complicata, ma secondo me dovresti prima padroneggiare
meglio lo strumento (Javascript/DOM/DHTML) per dedicarti a questo genere di
script.


 script.
Grazie ancora vado padroneggio e torno



Prova a spulciarti 
www.dhtmlcentral.com
, dovrebbe aiutarti non poco.
