HTML.it è il sito italiano del web publishing

bloccare un menù aperto fino alla pressione di un tasto



scegli un altro forum
    Indietro   Ricarica   Avanti Invia una risposta

Autore
Discussione     
Marcolino's
Utente di HTML.it



Registrato il: May 2003

Provenienza: Udine e dintorni

Messaggi: 3217


ICQ:

MSN:

Skype: stilisticamente


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?


__________________
StilisticaMente Host | Minigiochi.IT | presente su Facebook | il Blog |
Sviluppo siti web

Segnala ad un moderatore | IP: Collegato | Permalink

Marcolino's è offline Old Post 09-05-2012 09:13
Clicca qui per vedere il profilo dell'utente Marcolino's Clicca qui per inviare all'utente Marcolino's un messaggio privato Visita l'homepage dell'utente Marcolino's Visualizza ulteriori messaggi scritti dall'utente Marcolino's Aggiungi l'utente Marcolino's alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
sergioDario
Utente di HTML.it



Registrato il: Mar 2012

Provenienza:

Messaggi: 91


ICQ :

MSN :

Skype :


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.

Ultima modifica ad opera dell'utente sergioDario il 09-05-2012 alle 11:13

Segnala ad un moderatore | IP: Collegato | Permalink

sergioDario è offline Old Post 09-05-2012 11:06
Clicca qui per vedere il profilo dell'utente sergioDario Clicca qui per inviare all'utente sergioDario un messaggio privato Visualizza ulteriori messaggi scritti dall'utente sergioDario Aggiungi l'utente sergioDario alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Marcolino's
Utente di HTML.it



Registrato il: May 2003

Provenienza: Udine e dintorni

Messaggi: 3217


ICQ :

MSN :

Skype : stilisticamente


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.


__________________
StilisticaMente Host | Minigiochi.IT | presente su Facebook | il Blog |
Sviluppo siti web

Segnala ad un moderatore | IP: Collegato | Permalink

Marcolino's è offline Old Post 09-05-2012 13:20
Clicca qui per vedere il profilo dell'utente Marcolino's Clicca qui per inviare all'utente Marcolino's un messaggio privato Visita l'homepage dell'utente Marcolino's Visualizza ulteriori messaggi scritti dall'utente Marcolino's Aggiungi l'utente Marcolino's alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
sergioDario
Utente di HTML.it



Registrato il: Mar 2012

Provenienza:

Messaggi: 91


ICQ :

MSN :

Skype :


Citazione:
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.

Segnala ad un moderatore | IP: Collegato | Permalink

sergioDario è offline Old Post 09-05-2012 13:35
Clicca qui per vedere il profilo dell'utente sergioDario Clicca qui per inviare all'utente sergioDario un messaggio privato Visualizza ulteriori messaggi scritti dall'utente sergioDario Aggiungi l'utente sergioDario alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Tutte le ore sono con fuso orario CET. Ora sono le 17:43.     

    Ultima discussione   Prossima discussione Invia una risposta
Versione per la stampa | Invia il thread via email | Ricevi aggiornamenti sul thread | Scarica il thread
 

Cerchi un argomento specifico e hai fretta? Usa il motore di ricerca