首頁 >web前端 >js教程 >Bootstrap框架下下拉式選單的實作(程式碼範例)

Bootstrap框架下下拉式選單的實作(程式碼範例)

不言
不言轉載
2018-10-15 16:52:356580瀏覽

這篇文章帶給大家的內容是關於Bootstrap框架下下拉選單的實作(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

網頁互動的時候常常會需要上下文選單或隱藏/顯示選單項目,Bootstrap預設提供了用於顯示連結清單的可切換、有上下文的選單。而且在各種互動狀態下的選單展示需要和javascript插件配合才能使用。本文將詳細介紹Bootstrap下拉選單(免費課程推薦:bootstrap教學

#使用方法

##在使用Bootstrap框架的下拉式選單時,必須呼叫Bootstrap框架提供的bootstrap.js檔。當然,如果使用的是未編譯版本,在js資料夾下能找到一個名為「dropdown.js」的文件,也可以呼叫這個js檔案

因為Bootstrap的元件互動效果都是依賴jQuery函式庫寫的插件,所以在使用bootstrap.js之前一定要先載入jquery.js才會產生效果

##
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
</html>

#基本用法

在使用Bootstrap框架中的下拉式選單元件時,其結構運用的正確與否非常的重要,如果結構和類別名稱未使用正確,直接影響元件是否能正常運用

1、使用一個名為「dropdown」的容器包裹了整個下拉式選單元素

<div class="dropdown"></div>

2、使用了一個

<button class="btn dropdown-toggle" type="button" data-toggle="dropdown">

3、下拉式選單項目使用一個ul列表,並且定義一個類別名為“dropdown-menu”Bootstrap框架下下拉式選單的實作(程式碼範例)

<ul class="dropdown-menu" role="menu">

<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
    Dropdown
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
  </ul>
</div>

Bootstrap框架下下拉式選單的實作(程式碼範例)

#4、透過為下拉式選單的父元素設定 

.dropup

 類,可以讓選單向上彈出(預設是向下彈出的)

<div class="dropup">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
    Dropup
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
  </ul>
</div>

 

#原理分析

Bootstrap框架中的下拉式選單元件,其下拉式選單項目預設是隱藏的,因為「dropdown-menu」預設樣式設定了「display:none」;當使用者點擊父選單項目時,下拉式選單將會被顯示出來;當使用者再次點擊時,下拉式選單將繼續隱藏

.dropdown-menu {
  position: absolute;/*设置绝对定位,相对于父元素p.dropdown*/
  top: 100%;/*让下拉菜单项在父菜单项底部,如果父元素不设置相对定位,该元素相对于body元素*/
  left: 0;
  z-index: 1000;/*让下拉菜单项不被其他元素遮盖住*/
  display: none;/*默认隐藏下拉菜单项*/
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  font-size: 14px;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}

【實作原理】Bootstrap框架下下拉式選單的實作(程式碼範例)

  1、Dropdown插件在網頁載入的時候,對所有帶有data-toggle= "dropdown"樣式的元素進行事件綁定

  2、使用者點擊帶有data-toggle="dropdown"樣式的連結或按鈕時,觸發javascript事件代碼

  3、javascript事件代碼在父容器上加一個.open樣式

  4、預設隱藏的.dropdown-menu選單在外部有了.open樣式後,即可顯示出來,從而達到預期的效果

  5、當使用者再點擊時,「p.dropdown」容器中的類別名稱「open」又會被移除

.open > .dropdown-menu {
  display: block;
}

##【其他用法】

  還有一個有趣的用法,是觸發元素可以放在選單的父容器的外部

  但是,這種用法有兩點需要注意

#  1、要設定父容器的id值

  2、要設定觸發元素的data-toggle屬性和data-target屬性,data-target屬性值是#id

Bootstrap框架下下拉式選單的實作(程式碼範例)#

<button class="btn dropdown-toggle" type="button" data-toggle="dropdown" data-target="#dropdown1">外部触发器</button>
<div class="dropdown" id="dropdown1">
    <ul class="dropdown-menu" role="menu" aria-labelledby="tutorial">
        <li role="presentation"><a href="##">HTML</a></li>
        <li role="presentation"><a href="##">CSS</a></li>
        <li role="presentation"><a href="##">javascript</a></li>
    </ul>
</div>

 

擴展用法

【分隔線】

在Bootstrap框架中的下拉式選單提供了下拉分隔線,假設下拉式選單有兩個群組,那麼群組與群組之間可以透過新增一個空的

  • ,並且給這個
  • 加上類別名稱「pider」來實現添加下拉分隔線的功能

    .dropdown-menu .pider {
      height: 1px;
      margin: 9px 0;
      overflow: hidden;
      background-color: #e5e5e5;
    }

    ######
    <li role="separator" class="pider"></li>
    ############
    <div class="dropdown">
      <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
        Dropdown
        <span class="caret"></span>
      </button>
      <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
        <li><a href="#">Action</a></li>
        <li><a href="#">Another action</a></li>
        <li><a href="#">Something else here</a></li>
        <li role="separator" class="divider"></li>
        <li><a href="#">Separated link</a></li>
      </ul>
    </div>
    ######################################################################################## ###############【選單標題】######在任何下拉式選單中均可透過新增標題來標示一組動作 #########
    <li class="dropdown-header">Dropdown header</li>
    ############
    .dropdown-header {
      display: block;
      padding: 3px 20px;
      font-size: 12px;
      line-height: 1.42857143;
      color: #999;
    }
    ############
    <div class="dropdown">
      <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
        Dropdown
        <span class="caret"></span>
      </button>
      <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
        <li role="presentation" class="dropdown-header">第一部分菜单头部</li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
        <li role="presentation" class="divider"></li>
        <li role="presentation" class="dropdown-header">第二部分菜单头部</li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
      </ul>
    </div>
    ############

    Bootstrap框架下下拉式選單的實作(程式碼範例)

    【对齐方式】

    Bootstrap框架中下拉菜单默认是左对齐,如果想让下拉菜单相对于父容器右对齐时,可以在“dropdown-menu”上添加一个“dropdown-menu-right”类名 

    .dropdown-menu-right {
      right: 0;
      left: auto;
    }

    由于

  • 以上是Bootstrap框架下下拉式選單的實作(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除