最新のWeb開発のチュートリアル
 

Bootstrap JSドロップダウン


JS Dropdown (dropdown.js)

ドロップダウンメニューは、ユーザーが事前に定義されたリストから値を選択することを可能にするトグルメニューです。

ドロップダウンについてチュートリアルでは、私たちの読みBootstrapドロップダウンチュートリアル


ドロップダウンプラグインクラス

クラス 説明
.dropdown ドロップダウンメニューを表示します それを試してみてください
.dropdown-menu ドロップダウンメニューを構築します それを試してみてください
.dropdown-menu-right ドロップダウンメニューを右揃え それを試してみてください
.dropdown-header ドロップダウンメニューの内部ヘッダを追加します それを試してみてください
.dropup dropupメニューを表示します それを試してみてください
.disabled ドロップダウンメニュー内の項目を無効にします。 それを試してみてください
.divider 水平線とドロップダウンメニュー内の項目を区切り それを試してみてください

ヴィアdata-*属性

追加data-toggle="dropdown"リンクまたはドロップダウンメニューを切り替えるボタンに。

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown Example</a>
»それを自分で試してみてください

JavaScriptを介して、

手動で有効にします。

$('.dropdown-toggle').dropdown();
»それを自分で試してみてください

注: data-toggle="dropdown"属性に関係なく、あなたが呼び出すかどうかに必要とされるdropdown()メソッド。


ドロップダウンオプション

None

ドロップダウンメソッド

次の表は、使用可能なすべてのドロップダウンメソッドを示します。

方法 説明 それを試してみてください
.dropdown("toggle") ドロップダウンを切り替えます それを試してみてください

ドロップダウンイベント

次の表は、使用可能なすべてのドロップダウンイベントを示します。

イベント 説明 それを試してみてください
show.bs.dropdown ドロップダウンが表示されようとしているときに発生します。 それを試してみてください
shown.bs.dropdown ドロップダウンが完全に表示されたときに発生します(CSSの遷移が完了した後) それを試してみてください
hide.bs.dropdown ドロップダウンが非表示にされる前に発生します それを試してみてください
hidden.bs.dropdown ドロップダウンが完全に隠されている場合に発生します(CSSの遷移が完了した後) それを試してみてください

ヒント:jQueryの使用event.relatedTargetをドロップダウンをトリガー要素を取得します:

$(".dropdown").on("show.bs.dropdown", function(event){
    var x = $(event.relatedTarget).text(); // Get the text of the element
    alert(x);
});
»それを自分で試してみてください

例

逆さまにキャレットのアイコンを変更します

次の例では、ドロップダウンをクリックしたときに上向きに下向きからキャレットのアイコンを変更します。

/* CSS: */
<style>
.caret.caret-up {
    border-top-width: 0;
    border-bottom: 4px solid #fff;
}
</style>

/* JS: */
<script>
$(document).ready(function(){
  $(".dropdown").on("hide.bs.dropdown", function(){
    $(".btn").html('Dropdown <span class="caret"></span>');
  });
  $(".dropdown").on("show.bs.dropdown", function(){
    $(".btn").html('Dropdown <span class="caret caret-up"></span>');
  });
});
</script>
»それを自分で試してみてください

ナビゲーションバーとドロップダウン

次の例では、ナビゲーションバーのボタンのドロップダウンメニューを追加します。

<nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <div>
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1
          <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Page 1-1</a></li>
            <li><a href="#">Page 1-2</a></li>
            <li><a href="#">Page 1-3</a></li>
          </ul>
        </li>
        <li><a href="#">Page 2</a></li>
        <li><a href="#">Page 3</a></li>
      </ul>
    </div>
  </div>
</nav>
»それを自分で試してみてください

次の例では、ナビゲーションバーにログインフォームでドロップダウンメニューを追加します。

<ul class="nav navbar-nav navbar-right">
  <li class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Login <span class="glyphicon glyphicon-log-in"></span></a>
    <div class="dropdown-menu">
      <form id="formlogin" class="form container-fluid">
        <div class="form-group">
          <label for="usr">Name:</label>
          <input type="text" class="form-control" id="usr">
        </div>
        <div class="form-group">
          <label for="pwd">Password:</label>
          <input type="password" class="form-control" id="pwd">
        </div>
          <button type="button" id="btnLogin" class="btn btn-block">Login</button>
      </form>
      <div class="container-fluid">
        <a class="small" href="#">Forgot password?</a>
      </div>
    </div>
  </li>
</ul>
»それを自分で試してみてください

マルチレベルのドロップダウンメニュー

この例では、クリック時にマルチレベルのドロップダウンメニューを開くためのjQueryを使用します。

<script>
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>
»それを自分で試してみてください

この例では、カスタム作成した.dropdown-submenuマルチレベルドロップダウンのためのクラスを:

 /* CSS: */
<style>
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
}
</style>

/* JS: */
<script>
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>
»それを自分で試してみてください