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

    nascondere un div con onmouseout

    Ciao, volevo realizzare un menu estensibile grazie agli esempi trovati su html.it, non ricordo più la pagina esatta.

    Volevo fare in modo che il menu comparisse solo a seguito di un evento over (e questo funziona) e che sparisse quando l'utente esce con il mouse dal menu (questo non vuole funzionare).

    Questa è la mia pagina:
    codice:
    <div class="jshide" id="nav">
    <ul onMouseOut="hide('nav');">
        <li class="head">SPM[*]<h3>Info</h3>
            <ul>[*]News[*]Circolare[*]Iscrizione[/list]
        [*]Terreno[*]<h3>Multimedia</h3>
            <ul>[*]Webcam[*]Foto[/list]
        [/list]
    </div>
    Il mio problema è che l'evento onMouseOut si manifesta troppo frequentemente, ovvero anche quando mi sposto tra le voci del menu e addirittura quando mi sposto fuori dal menu senza che sia già entrato con il mouse nelle voci del menu.

    Qualcuno ha avuto problemi simili o sa come risolverlo?


    grazie mille
    __________
    BrainBurner

  2. #2
    Il tuo errore probabilmente sta nel fatto che hai dato la onmouseout su un tag che non è lo stesso a cui hai dato la onmouseover; tralatro mi pare di capire che lo hover lo fai da CSS, mentre lo out lo fai da javascript: questa non è una buona idea; usa o solo uno o solo l'altro metodo, non li mescolare.

    Un esempio che usa javascript lo trovi qui:

    http://www.neogene.it/home.php

    Tieni presente che il metodo tramite soli CSS funziona assai male su IE, che non permette lo hover su elementi diversi da <A>; se vuoi esiste uno script per dare a IE la compatibilità con questa e moltre alte cose, lo trovi qui:

    http://dean.edwards.name/IE7/

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Magari non mi sono spiegato benissimo.
    Mouseover ce l'ho in un map di una immagine, da li tramite javascript cambio la classe del div#nav in modo da farlo comparire.
    Quello che voglio è farlo sparire quando esco da menu, ma ho provatoa mettere l'evento mouseout dappertutto e non ottengo mai l'effetto desiderato. Per esempio il menu scompare quando passo da una voce del menu ad un'altra...

  4. #4
    Non ha senso usare le classi per questo: il javascript deve semplicemente modificare l'attributo css visible o display per rendere visibile quello che vuoi sia visibile.

    Comunque, se è la div "nav" a essere resa visibile, è su di lei che devi mettere l'onmouseout che la rinasconde.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Ho già provato, ho anche messo l'evento onmouseout in più elementi, ma il problema rimane che l'evento si manifesta anche quando non deve!

  6. #6
    Mi puoi postare un link alla pagina?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #7
    Ecco: sono ruiscito a carica qua la pagina:
    http://mom2007.asco-lugano.ch/test/

    Lo script adesso non è chiarissimo perché ho fatto molte prove, alcune sono commentate, ...

    grazie mille comunque

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 © 2024 vBulletin Solutions, Inc. All rights reserved.