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

    Focus ed espansione menu a tendina

    Buon giorno a tutti, mi servirebbe sapere cortesemente, come sul onfocus del link padre mi apre il menu figlio a tendina.
    codice:
    <ul>[*]
    azienda
    <ul>[*]chi siamo[*]dove siamo[/list]
    [/list]
    Praticamente, se con il puntatore del mouse vado sopra il link azienda, attraverso il css, intercetta li>hover e mi apre il menu a tendina.
    Dato che devo aprirlo, anche attraverso l'utilizzo dell'accesskey 'a', non capisco come posso fare.
    Potreste aiutarmi per favore?
    Grazie mille.

  2. #2
    allora sono giusto fin qui:
    codice:
    $(".azienda").focus(function () {
    				$('.ul_first').show();
    				$('#navi .ul_first').css('left', 'auto');
    				
    				$('.ul_second').hide();
    			});
    			
    			$(".consulenze").focus(function () {
    				$('.ul_second').show();
    				$('#navi .ul_second').css('left', 'auto','visibility','visible');
    				$('.ul_first').hide();
    			});

    Il problema è il seguente, finché gestisco la navigazione del menu con il tab della tastiera, visualizzo o nascondo, il menu a tendina delle varie voci.

    Ma, se vado su un link che non ha il menu a tendina purtroppo, resta aperto e quindi visibile l'ultimo menu a tendina.

    Domanda: vorrei gestire il tutto in base alla perdita di focus, ossia, se non sto più su quel link, il relativo menu a tendina deve chiudersi.

    Spero mi sia spiegato.
    grazie come sempre.

  3. #3
    altro passo in avanti:
    codice:
    $(".azienda").focusin(function () {
    				$('.ul_first').show();
    				$('#navi .ul_first').css('left', 'auto');
    				/*chiusura altri tree menu*/
    				$('.ul_second').hide();
    				$('.ul_third').hide();
    				$('.ul_fourth').hide();
    			});
    			
    			/*$(".azienda").focusout(function () {
    				$('.ul_first').hide();
    			});*/
    			
    			
    			$(".consulenze").focusin(function () {
    				$('.ul_second').show();
    				$('#navi .ul_second').css('left', 'auto');
    				
    				$('.ul_first').hide();
    				$('.ul_third').hide();
    				$('.ul_fourth').hide();
    			});
    /*ecc ecc*/
    In questo modo, se utilizzo IE e FF, attraverso l'accesskey alt+z, il menu a tendina si apre senza problemi.
    Purtroppo Chrome è come se non riconoscesse il tipo di evento che sto eseguendo.

    Mi aiutate per favore?
    grazie a tutti...

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova ad usare .on (aggiornando la libreiria almeno alla v. 1.7)
    $(".azienda").on('focusin', function(
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    ciao Andrea ti ringrazio dell'interesse...
    allora ho aggiornato la versione della libreria jquery ora ho la 1.7 prima avevo la 1.6.4.
    ho fatto come mi hai suggerito:
    codice:
    $(document).ready(function() {
    $(".azienda").on('focusin', function(){
    				alert("asd");
    			
    				$('.ul_first').show();
    				$('#navi .ul_first').css('left', 'auto');
    				/*chiusura altri tree menu*/
    				$('.ul_second').hide();
    				$('.ul_third').hide();
    				$('.ul_fourth').hide();
    			});
    });
    IE e FF, senza problemi, ma Chrome e ora ho visto anche Safari non funzionano.
    boh...
    PS: ho inserito quell'alert per vedere se entra, ma non c'è verso...

  6. #6
    facendo una ulteriore ricerca mi sono imbattuto in questo post:
    http://stackoverflow.com/questions/4...webkit-browser

    in pratica, invece del focusin,focus semplicemente click.
    codice:
    //da
    $(".azienda").on('focusin',function(){
    
    //a
    $(".azienda").click(function () {
    e sembra funzionare....

    Ora invece, vorrei sapere, come far sparire il menu a tendina, se dovessi andare su altri link, qui ho fatto in questo modo:
    codice:
    $(".azienda").click(function () {
    				$('.ul_first').show();
    				$('#navi .ul_first').css('left', 'auto');
    				/*chiusura altri tree menu*/
    				$('.ul_second').hide();//secondo menu a tendina
    				$('.ul_third').hide();//terzo
    				$('.ul_fourth').hide();//quarto
    			});
    ma nel caso in cui ho N pulsanti nel sito, non posso elencarli tutti per nascondere quei menu a tendina...
    Vorrei sapere se c'è un metodo generale per nasconderli anche senza cliccare altri elementi.
    Grazie ancora...

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.