Newsgroup: it.comp.lang.javascript
Titolo: Problema con div tabella annidata e onmouseover/up

Ciao a tutti
volevo scatenare un evento al passaggio del mouse dentro un div
 contenente una tabella, per esempio:
<div style="background-color: Gray; width: 200px;"
 onmouseover="alert('dentro');" onmouseout="alert('fuori');">
<table width="100%">
<tr>
	<td>ciao</td>
	<td>nando</td>
</tr>
</table>
</div>
ho perň notato che mi genera gli eventi anche al passaggio tra una
 cella ed un'altra della tabella, come se in quel punto, si uscisse ed
 entrasse dal div!
qualcuno sa come far scatenare gli eventi onmouseover e onmouseout solo
 quando si esce od entra dal div con il mouse?
per esemio cosě funziona:
<div style="background-color: Gray; width: 200px;"
 onmouseover="alert('dentro');" onmouseout="alert('fuori');">
ciao e grazie
</div>
ciao e grazie
-- 
"Non aspettarti niente, ma sii pronto a tutto." (Quoto)
http://scirio.altervista.org
 - 
http://x-privat.org
 
http://moofushi.altervista.org
 - 
http://ihu.altervista.org

 
non trovo nulla su google
che davero devo risolvere calcolandomi la posizione del mouse e del div?
helppppppppp


 che davero devo risolvere calcolandomi la posizione del mouse e del div?
no ... devi togliere cellspacing (e cellpadding?) dalla tabella, temo, e
bloccare la propagazione dell'evento ai contenitori.
Cerca con google cancelBubble, StopPropagation() o simili perché a memoria
non ricordo.
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

  quando si esce od entra dal div con il mouse?
Una pagina di prova:
http://tinyurl.com/99neg
Una lettura consigliata:
http://tinyurl.com/3r3oe
-- 
Nando [?]
Apostolo della Prova

 
ok grazie :)


 Ciao fesso.
Si sarà offeso :)


 
no ciccio :)
http://www.criosoftware.it/default16.aspx
altro che le 200 righe di codice che hai copiato te :)


 
http://www.criosoftware.it/default16.aspx
!! pensa te che non me lo ricordavo (è di un anno fa in effetti)
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 altro che le 200 righe di codice che hai copiato te :)
Scusa ciccino, appena puoi mi posti il codice completo con il quale hai
risolto il tuo problema? Merci :)
PS nulla si crea, nulla si distrugge, e manco me ne vergogno :)


jhkj<br>
<table width="100%" border="1" cellpadding="0" cellspacing="0"
 id="tabella">
<tr>
	<td><table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
	<td>ciao</td>
	<td>prova</td>
</tr>
<tr>
	<td>ciao</td>
	<td>prova</td>
</tr>
<tr>
	<td>ciao</td>
	<td>prova</td>
</tr>
<tr>
	<td>ciao</td>
	<td>prova</td>
</tr>
</table></td>
	<td>prova</td>
</tr>
<tr>
	<td>ciao</td>
	<td>prova</td>
</tr>
<tr>
	<td>ciao</td>
	<td>prova</td>
</tr>
<tr>
	<td>ciao</td>
	<td>prova</td>
</tr>
</table>
</div>
<br>&nbsp;<br>
</body>
</html>
nel mio esempio pratico ho ancora problemi, non vorrei sia colpa
 dell'innerhml che uso x riempire


  dell'innerhml che uso x riempire
scirio... francamente non riesco a capire cosa vuoi fare: hai un div con un
po' di roba dentro (una tabella), quando il mouse "esce" dal div, vuoi
nascondere il div stesso... e fin qui... ma una volta nascosto come fai a
rivederlo? Davvero, non capisco... oltre al fatto che non capisco l'uso di
setInterval per ripetere, ogni due secondi, la stessa operazione (la quale,
fatta una volta, non dovrebbe essere più necessaria): perché non usare
setTimeout?
Poi (magari mi sbaglio, eh!) se non hai padding nel div nè margin sulla
tabella, gli eventi non verranno MAI scatenati dalla div ma SEMPRE dalla
tabella (che "copre" interamente il div) e quindi il test 
target.id
!=quale
restituirà SEMPRE true (era questo il motivo della "lungaggine" del codice
che ho "copiato" prima)... boh, non so ma a naso c'è qualcosa che non
quadra.


 
si li la condizione puede esser non molto esatta, l'ho fatto di fretta
adesso rianalizzo e rifaccio
cmq anche dare l'id al body può essere una buona soluzione, quando lo
 incontra, kaput!


  incontra, kaput!
Io kaputt lo farei a te...


 :-P
mi sa che sono nel pallone :)
che eventi dovrei scatenare e quando?
e como dovrei fermarli?
ho notato che se metto un id all'intera tabella, non me la caga
devo metterla ad ogni cella
inoltre anche i font dan problemi, dovrei mettere un'id anche li
e quindi una volta usciti dal div principale, dovrei dirgli di vedere
 se non ci si trova in nessuno di questi div, in tal caso, chiudere
 todos
però mi sembra un modo macchinoso :o
a sto punto facevo davvero prima a smazzolarmela con la posizione del
 mouse :)


 
ok con questo metodo sembra funzionare perfettamente
ho solo un ultimo problema
if(window.idvar) clearTimeout(idvar);
questo metodo, che ho trovato su google in molti risultati
mi da errore se non c'è l'idvar
se la setto prima nulla, con
<script>idvar="";</script>
non da errore, ma c'è un metodo migliore x non mandarlo in errore
o senza settare la variabile o settandola dentro il div con qualche
 evento che avviene solo al primo caricamento del div?
giusto per avere solo il div da includere in futuro


 e como dovrei fermarli?
scirič, io vedo un problema in quello che hai fatto... tu hai un'immagine,
ci clicki e compare la div con la tabella; poi hai aggiunto onmouseout,
sulla div, per far sě che la stessa "sparisca" quando il mouse va via... e
se il mouse non ci arriva mai sopra? Resta lě?
Allora, la cosa si puň ripensare... se vuoi proprio usare le tabelle,
potresti fare una cosa come quella che č ora al link di prima (se il
browser *non* č IE, č anche meglio :) ).


 ho solo un ultimo problema [sgnap]
Ci avessi capito qualcosa... ma tanto poi risolvi, ne sono certo :)


 
ie sempre sia lodato
mi basta che giri su ie e firefox


 
cibba :)
bè cmq ci penserò, dopotutto, posso inizializzare quella variabile sul
 click di apparizione, così ho risolto anche il problema della
 sparizione in tutti i moudi (forse)
