Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762

    [jQuery] Menu dropdown con focus di apertura. Ma errori in chiusura.

    Ciao raga,

    avrei un problemino. Ho lo script che segue che si occupa semplicemente di:

    - Al click sull'elemento, far comparire il piccolo box per inserire i dati per il login
    - All'apertura del piccolo box, imposta il focus sul campo username
    - Se il focus viene via dal campo username, il box si chiude
    - Al click successivo sull'elemento che lo apre, chiude il box...MA...qui risiede il problema..

    ..infatti al secondo click (quello di chiusura), il box viene chiuso, riaperto, lampeggia (chiuso/aperto ancora) due volte, e poi...chiuso definitivamente. Insomma, non va bene.

    codice:
    <script type="text/javascript">
    $('#login-selector').click(function() {
      $('.login-container').toggle('fade') && $('#user-input').focus();
    });
    </script>
    Se provo ad annidare le funzioni tipo .focusout() e simili non ottengo il risultato ottenuto perchè vanno in conflitto con la funzione .click()

    Per semplificare il discorso, dato che comunque la logica è la stessa di un menu dropdown con click...vorrei ottenere lo stesso risultato dei menu di Twitter e/o Facebook.

    Ovvero:

    - Click sul trigger che apre il menu
    - Se click altrove, il menu automaticamente si chiude


    ...mi sono dilungato troppo. Lo sò.

    Grazie mille,
    Wart

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Piccola ed unica up.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    probabilmente è il focus che rompe le balle
    prova cosi:

    codice:
    $('#login-selector').click(function() {
       $('.login-container').toggle('fade',function(){
          if($('.login-container').css("display") != 'none') $('#user-input').focus();
       });
    });

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Ciao Vin, grazie per la risposta all'up.

    Così va bene anche però quando tolgo il focus o clicco su una qualsiasi parte dello schermo il menu non va via. Il menu allo stato attuale se ne va solamente se clicchi sull'elemento che lo apre/chiude (appunto).

    Se sei iscritto su Facebook e/o Twitter capisci cosa voglio ottenere cliccando sui menu in alto a destra delle pagine:

    - Al click si aprono
    - Al click da qualche altra pagina si chiudono
    *** EDIT: - Al click in un altro punto qualsiasi della pagina, si chiudono.

    Questo è l'effetto che non riesco ad ottenere. Però vorrei capire come si fa!
    -------------------

    Per il momento comunque l'ho girata su dialog() che mi centra di suo la..dialog

    ..ANCHE SE..non capisco perchè la dialog all'apertura produce un "allungamento di pagina" in altezza........ma questo è roba da altro thread.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    $('#login-selector').click(function() {
       $('.login-container').toggle('fade',function(){
          if($('.login-container').css("display") != 'none') $('#user-input').focus();
       });
    });
    
    $("#user-input").focusout(function(){
       $('.login-container').toggle('fade');
    });

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    ......ed io che lo inserivo all'interno (l'ultima parte di codice)


    Grazie mille!

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