2011-12-27 10 views
0

アクティブな別のメニューが1つクリックされたときにこのメニューをクリックすると、このメニューが無効にされてから新しいものがアクティブになります。「ボディ」のドロップダウンをクリックすると、再度表示するためにダブルクリックする必要があります。

$('.idiomas span.current').toggle(function(){ 
          //alert(true); 
          $('.idiomas span.clicked').next('ul').hide(); 
          $('.idiomas span.clicked').removeClass('clicked'); 
          $(this).next('ul').fadeIn(); 
          $(this).addClass('clicked'); 

        },function(){ 
          $(this).next('ul').hide(); 
          $('.idiomas span.current:not(.clicked)').show(); 



       }); 

ここまでうまくいきます。ユーザーがメニュー全体をクリックしたときにメニューが非表示になるようにしたいと思っていました。私は

$('body').bind('click', function(e) { 
     if($(e.target).closest('.idiomas ul').length == 0) { 
      // se ha clickado fuera del menu 
      $('.idiomas ul').hide(); 
      $('.idiomas span.current').removeClass('clicked').show(); 
      $('.facebook').css('visibility','visible'); 
     }else{ 
      //dentro: no hacemos nada. 
     } 
    }); 

を必要に応じて、本体のクリックに取り組む必要があることを考え出したと任意のアイデアなぜそれが隠すんが、私はそのサブメニューが表示されるように次のメニュー項目に二回クリックする必要があり、

+0

あなたは 'accordion'のようなものが必要ですか? –

+0

私は実際には...のように見えますが、自分自身について説明していないと、http://toniweb.us/gmに入り、言語を変更したり、電話番号を調べたりすることができます。 –

+0

jsfiddle.netの例は非常に役に立ちます多くは – Armin

答えて

1

ここに役立つ情報があります。これはJSFiddleです:http://jsfiddle.net/aTqP5/

トグルには2つの状態があり、ボディをクリックすると要素は表示されなくなりますが、トグル状態はまだ「表示」になっています「隠す」、そして再び「ショー」に戻り、したがって2回クリックする。

$(document).ready(function(){  
    $('.idiomas span.current').click(function(event){ 
     event.stopPropagation(); 
     if ($(this).hasClass('clicked')) { 
      $(this).removeClass('clicked'); 
      $(this).siblings('ul').hide(); 
     } else { 
      $('.idiomas span.clicked').removeClass('clicked').siblings('ul').hide(); 
      $(this).addClass('clicked'); 
      $(this).siblings('ul').fadeIn(); 
     } 
    }); 

    $('body').click(function(event) { 
     event.stopPropagation(); 
     if ($('.idiomas span.clicked').length > 0) { 
      $('.idiomas ul').hide(); 
      $('.idiomas span.current').removeClass('clicked'); 
     } 
    }); 
}); 
関連する問題