2016-05-11 14 views
2

私は次のコードを使用して、ブートストラップ使用してドロップダウンメニューを作成しました:ユーザーがアイテムをクリックした後にドロップダウンメニューを非表示にする方法は?

<li class="dropdown"> 
    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Examples </a><ul class="dropdown-menu" id="examples"> 
     <li><a href="#" class="example" id="atlas" data-example-name="atlas">Atlas</a> </li> 
     <li><a href="#" class="example" id="map" data-example-name="map"> Map</a></li> 
    </ul> 
    </li> 

はしかし、私は、メニュー項目のいずれかをユーザーがクリックした後、ドロップダウンメニューを非表示に問題を抱えています。私は、次のコードを与え、jQueryのを使用して試してみました:

$("#atlas").click(function(){ 
    $("#examples").show(); 
}) 

をそれは(、最終的にそれを隠すために二度目をその所望のアクションを実行するのは初めて)を2回押してメニュー項目をクリックして私を必要とします。

+0

私はあなたがメニューが表示されます、あなたもそれにCSSトランジションを追加することができ、「切り替え」クラスを追加することを提案...(申し訳ありませんが、私は例を構築する時間がありません) のjQueryます追加または削除するToggleClassメソッドを持っている – miguelmpn

+0

ドロップダウンメニュー全体、またはリスト項目だけを隠そうとしていますか? –

+0

リストの項目 –

答えて

0

私は

$('.example').click(function(){ $('#examples').hide(); }); 
+1

だけをクリックすると、ドロップダウンメニューが展開されなくなります。 –

+0

問題を引き起こすコードで私のフィドルを更新できますか? https://jsfiddle.net/arnLfmjk/1/ – Pietro

+0

私はフィドルでそれを再現することはできませんが、ここでは私がhttp://brain-vr.com/surfaceviewer/で作業しているサイトです。例を見てくださいタブをクリックします。 –

-1

を言うあなたは、Li自分自身にあなたのイベントをバインドし、クリックされたときにそれを隠すことができます:ここでは

$('ul li').click(function() { 
    $(this).hide(); 
}); 

Fiddle Demoです。

クラスを使用する場合は、あなたが行うことができます:ここでは

$('.example').click(function() { 
    $(this).hide(); 
}); 

クラスを使用してFiddle Demoです。

+0

なぜdownvoteをオンにするのですか? $( "#examples li a") OPが要求したことを行うコードですか? –

0

私はあなたがこのコードをしたいと思う。

ドロップダウンメニューには常に項目が表示されます。アイテムをクリックして非表示にします。

$('.example').on('click', function (event) { 
    event.stopPropagation(); 
    $(this).hide(); 
}); 

ここではこれを改善するために行われますが、主にあなただけの要素がクリックされたときに、メニューの非表示を呼び出す必要がありますすることができたくさんありますfiddle

1

です。 Here is a codepenが動作しています。ただ

// show/hide the menu when examples is clicked 
$(".dropdown-toggle").on("click", function() { 
    $(".dropdown-menu").toggle(); 
}); 

// hide the menu when an exmple is clicked 
$(".example").on("click", function(){ 
    $(".dropdown-menu").hide(); 
}); 
関連する問題