Ciao a tutti,
sto creando un po' di funzioni javascript temporizzate per rendere animato un sito, e creandone una di qst mi sono imbattuto in un "conflitto" js-css, dove sfortunatam per me vince js...![]()
mi spiego meglio: voglio sfumare lo sfondo di una barra di link all'evento onmouseout e per fare qst utilizzo il DOM col js, però eseguita una volta la funzione, qnd torno col mouse sullo stesso link della barra non funziona più ":hover" per qll elemento impostato nei css, perché il browser tiene a mente l'ultimo valore del js lasciato dal onmouseout precedente, e anche se qll valore è "transparent" non mi utilizza più i css per quel background.
ESEMPIO![]()
Vado su un link della barra e grazie ad un :hover (css) il background di qll cambia e resta cambiato fino qnd non levo il mouse da qll.... a qst punto scatta l' onmouseout (js) che lancia la funzione temporizzata che fa sfumare lo sfondo fino ad arrivare a "transparent" (ovvero vedo il colore di sfondo iniziale, prima di :hover).
Fin qui tutto bene. Ma ripassando su qll stesso link ora l' :hover non funziona più, ovvere appena metto il mouse lo sfondo resta immutato, poi qnd lo tolgo ovviamente riparte la funzione e dinuovo tutto bene...il problema è che la permanenza del cursore sul link dalla seconda volta in poi non "colora" più lo sfondo.
Come si evince il problema è che il browser da precedenza ai js e non ai css (anche a bocce ferme)... come faccio invece a dire che dopo la dissolvenza voglio che "ricomandi il css"? non è che per caso esiste la possibilità di settare col js uno sfondo tipo "null" che quindi fa capire ai browser di cercare pure al trove gli ordini?
So benissimo che potrei usare un onmouseover per ogni link...ma non mi va di appesantire il codice (secondo me deve esistere un'altra strada)...qlc può darmi una mano?
GRAZIE![]()