certo che puoi: basta aggiungere un test alla funzione Over:Originariamente inviato da klauzz
weeeiii, grazzzie, nee
funzia alla grande!
sei stato proprio in gamba... mi spiace che non riesco molto a capire il funzionamento, ma prima o poi lo capirò
una sola cosa ti vorrei chiedere:
quando clicco su Home, il pulsante diventa verde, e ci rimane, ma quando vado sopra Home on mouse over si deseleziona il verde.
E' possibile far capire al sistema che quando il pulsante è verde mi disattivi l'on mouse over?
grazie ankora di tutto.
KLAuzz
function over(objTd){
if (objTd.className != 'class2')
objTd.className = 'class3';
}
in breve, il funzionamento è piuttosto semplice:
- ogni cella (td) viene identificata tramite un nome univoco (id). Ad ogni cella vengono abbinati gli eventi e le relative funzioni che il browser farà scattare sull'evento. La chiamata alle funzioni avviene passando come parametro 'this', che significa l'oggetto stesso su cui viene chiamata la funzione. Quindi quando clicchi su tdmenu0 la funzione avrà come argomento l'oggetto tdmenu0.
Per questo, quando arriviamo nella funzione abbiamo già il riferimento all'oggetto dentro la variabile objTd e ci basta settare la proprietà className, che abbina ad un oggetto una classe di stylesheet. Il resto è semplice: nelle funzioni out e over testo se l'oggetto ha già come classe quella selezionata, nel qual caso non faccio nulla (è il problema che avevi, di quando passi sopra un td già selezionato e ti ritorna rosso). Nel caso invece del click, visto che non esiste l'evento opposto, non puoi sapere quando far tornare normale l'elemento verde, quindi faccio un ciclo su tutti gli elementi del menu (di cui conosco l'id costruendomelo con "tdmenu" + un contatore) per settarli a non-attivi
spero di aver chiarito un po'
ciao