Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    onMouseOver non funziona con DIV:hidden

    ho 2 DIV, "Div-A" visibile e "Div-B" hidden
    entrambi contengono un <TD onMouseOver ....> e nel DIV visibile funziona, in quello nascosto ovviamente non può funzionare.

    ...se poi inverto con una funzione (tramite "getElementsByTagName") la visibilità dei DIV così: Div-A=hidden e Div-B=visibile ...dovrebbe funzionare il onMouseOver del Div scoperto ...invece non funziona !!! perchè !!!



    finchè non l'ho capito non vado a letto ! :master:
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: onMouseOver non funziona con DIV:hidden

    Originariamente inviato da Jarno
    ho 2 DIV, "Div-A" visibile e "Div-B" hidden
    entrambi contengono un <TD onMouseOver ....>
    come fa un div a contenere un td?
    o contiene tutta una tabella o ti stai basando su di un errore di logica (e lì le sorprese devi metterle in conto)

  3. #3
    sì, sì, ...sono stato molto sintetico perchè tanto non ho un problema di sintassi, ma solo di concatenazione logica di alcuni elementi:
    codice:
    Ho costruito un menù:
    <DIV visibile del Livello1, con onMouseOver mostra il Livello2 cercandolo con getElementsByTagId.className></DIV>
    <DIV nascosto del Livello2>
      <DIV visibile del testo in versione italiano><table>....</table></DIV>
      <DIV nascosto del testo in versione inglese><table>...</table></DIV>
      </DIV>
    
    con un bottone inverto la visibilità dei DIV che contengono il testo
    funziona, ma quando inverto la visibilità dei 2 div interni non funziona più il JavaScript inLine che mostra il Livello2
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Jarno posta un po' di codice
    va a finire che c' è qualche inghippo a cui mai andrei a pensare

  5. #5
    oh mamma ...è un po' un casino sintetizzare ...ci provo
    codice:
    cmq ..dopo essermi attaccato più volte al tubo del gas di cucina, ho risolto inventandomi un'altra struttura (eh...la creatività col Javascript ci gode!), cmq per il gusto di sapere vi riporto tutto il codice precedente
    ho dovuto incrociare 3 strutture di Javascript (combinate col CSS) create per:
    1. avere un menù con tendine per il 2 livello (usando hidden con i DIV e onMouseOver)
    2. avere un codice unico per il menù per tutte le pagine (usando innerHTML)
    3. cambiare la lingua del sito (usando hidden con i DIV)

    PS: riporto solo il cuore di tutto perchè altrimenti dovrei copiarvi tutti il contenuto dei file di stile e dei file di js, compreso la html di riferimento

    QUESTO CREA UN BOTTONE NEL MENU DI PRIMO LIVELLO ("MenuLivello1"):
    codice='<TD id=\"MenuLivello1\" class=\"MenuVisibile\" onClick=\"Vai(\'1.htm\');\" onMouseOver=\"document.getElementById(\'MenuLivell o2\').className=\'MenuVisibile\';\"><DIV class=\"ItaVisibile\">FUNGO</DIV><DIV class=\"IngNascosto\">MUSHROOM</DIV></TD>';
    QUESTO CREA IL SOTTOMENU DI SECONDO LIVELLO ("MenuLivello2"):
    codice=codice+'<DIV class=\"ItaVisibile\"><TABLE id=\"MenuLivello2\" class=\"MenuNascosto\" style=\"top:40; left:536; width:145px; height:44px;\"><TR><TD>( ...in costruzione )</TD></TR></TABLE></DIV>';
    codice=codice+'<DIV class=\"IngNascosto\"><TABLE id=\"MenuLivello2\" class=\"MenuNascosto\" style=\"top:40; left:524; width:170px; height:44px;\"><TR><TD>( ...works in progress )</TD></TR></TABLE></DIV>';
    QUESTO CAMBIA LA LINGUA:
    if(document.getElementsByTagName) {
    for(i=0; i < document.getElementsByTagName("DIV").length; i++) {
    if(document.getElementsByTagName("DIV")[i].className=="ItaVisibile") { document.getElementsByTagName("DIV")[i].className = "ItaNascosto"; }
    if(document.getElementsByTagName("DIV")[i].className=="IngNascosto") { document.getElementsByTagName("DIV")[i].className = "IngVisibile"; }
    il menu a 2 livelli funziona, ma se cambio la lingua (e lo fa), il menù non funziona più, cioè non fa vedere il Livello2 al passaggio del mouse sopra il Livello1

    vi assicuro che non ci sono errori di sintassi, le strutture di Javascript prese a sè funzionano perfettamente, è solo in questa concatenzazione che non funzionano

    se tolgo la traduzione nel Livello2 funziona tutto perfettamente, quindi ne deduco chec'è qualche problema tra il onMouseOver che era nascosto (quello dell'inglese) ed il cambiamento dei CSS dentro all'elemento che doveva mostrare
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.