Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606

    bloccare un menù aperto fino alla pressione di un tasto

    Salve ragazzi.
    Ho creato tramite css un classico menù dropdown, ora però ho bisogno che una delle voci del menù rimanga aperta quando viene attivata e lo rimanga fino a quando l'utente clicca una voce del menù e non si chiuda, come gli altri, quando il mouse esce dal box dropdown.
    Ho provato a creare un classico sistema javascript tipo document.getelementbyid().style.display = 'none' / 'block' comandato dal onmouseover del link, ma comunque l'hover del link lo faceva chiudere quando il mouse si spostava via.
    Ho provato ad escludere in questo menù l'hover del foglio di stile ma non ha funzionato.
    A me servirebbe che il menù in questione funzioni come il menù di qualsiasi altra applicazione, dove cliccato su File, si apre il menù e rimane aperto fino a che l'utente non clicchi fuori dal menù o su una voce valida.
    Ecco ho bisogno di fare una cosa del genere, mi date una mano?

  2. #2
    Ciao, hai provato con onfocus e onblur?
    ad esempio con un evento di onmouseover potresti attivare la funzione focus
    sul div che apre il div nascosto
    onmouseover="fuoco('divNascosto')";

    codice:
    //
    function fuoco(div){
       var div=document.getElementById(div);
       div.style.visibility='visible';
       div.style.display='block';
       div.focus();
    }
    e poi con onblur="chiudi(this)"; o indichi il div tra apici

    codice:
    function chiudi(div){
       var div=document.getElementById(div);
       div.style.visibility='hidden';
       div.style.display='none';
    }
    Non so, è una mezza idea...
    Magari ci sono soluzioni migliori.

  3. #3
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Sì è più o meno ciò che avevo fatto e in realtà si apriva il div con il menù ma poi si chiudeva appena spostavo il mouse come avrebbe dovuto funzionare con :hover, insomma ho pensato che i css comandassero sul javascript.
    Ho pensato di creare una sotto classe del menù senza effetto hover e di applicarla solo a quel menù che deve restare aperto, ma stranamenten on ha funzionato; credo di doverlo riprogettare completamente.

  4. #4
    Originariamente inviato da Marcolino's
    Sì è più o meno ciò che avevo fatto e in realtà si apriva il div con il menù ma poi si chiudeva appena spostavo il mouse come avrebbe dovuto funzionare con :hover, insomma ho pensato che i css comandassero sul javascript.
    Scusa se insisto, il discorso che faccio io però esula dai css, nel senso che è tutto javascript o quasi.
    Cerco di spiegarmi:
    Tu hai un area visibile con scritto ad esempio 'menù', poi posizionato dove vuoi hai un div che nascondi, con dentro ciò che vuoi, con i css di default impostando visibility ad hidden e display a block.
    Al campo visibile assegni la funzione fuoco('divNascosto') con onmouseover="fuoco('divNascosto')", ed al div nascosto onblur="chiudi(this)"
    Quando il mouse va sul campo menù scopre il menù nascosto e gli da il fuoco, e rimane sempre visibile sino a che non perde il focus, cioè sino a che non si clicca fuori.

    Credo che funzioni, qualcosa di simile l'ho già fatto.

    Cius.


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.