Bootstrap JS Dropdown


JS ดรอปดาวน์ (dropdown.js)

เมนูแบบเลื่อนลงเป็นเมนูที่สลับได้ซึ่งให้ผู้ใช้เลือกค่าหนึ่งค่าจากรายการที่กำหนดไว้ล่วงหน้า

สำหรับบทแนะนำเกี่ยวกับ Dropdowns โปรดอ่านBootstrap Dropdowns Tutorialของเรา


คลาสปลั๊กอินแบบเลื่อนลง

Class Description Example
.dropdown Indicates a dropdown menu
.dropdown-menu Builds the dropdown menu
.dropdown-menu-right Right-aligns a dropdown menu
.dropdown-header Adds a header inside the dropdown menu
.dropup Indicates a dropup menu
.disabled Disables an item in the dropdown menu
.divider Separates items inside the dropdown menu with a horizontal line

ผ่าน data-* คุณสมบัติ

เพิ่มdata-toggle="dropdown"ในลิงก์หรือปุ่มเพื่อสลับเมนูแบบเลื่อนลง

ตัวอย่าง

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown Example</a>

ผ่าน JavaScript

เปิดใช้งานด้วยตนเองด้วย:

ตัวอย่าง

$('.dropdown-toggle').dropdown();

หมายเหตุ:จำเป็นต้องใช้แอตทริบิวต์ data-toggle="dropdown" ไม่ว่าคุณจะเรียกใช้เมธอด dropdown() หรือไม่



ตัวเลือกแบบเลื่อนลง

None

วิธีการแบบเลื่อนลง

ตารางต่อไปนี้แสดงวิธีการดรอปดาวน์ที่มีอยู่ทั้งหมด

Method Description Try it
.dropdown("toggle") Toggles the dropdown

เหตุการณ์แบบเลื่อนลง

ตารางต่อไปนี้แสดงรายการเหตุการณ์แบบเลื่อนลงที่มีอยู่ทั้งหมด

Event Description Try it
show.bs.dropdown Occurs when the dropdown is about to be shown.
shown.bs.dropdown Occurs when the dropdown is fully shown (after CSS transitions have completed)
hide.bs.dropdown Occurs when the dropdown is about to be hidden
hidden.bs.dropdown Occurs when the dropdown is fully hidden (after CSS transitions have completed)

เคล็ดลับ:ใช้ jQuery's 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>