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>