一.基本使用 html
使用模態框的彈窗組件須要三層div 容器元素,分別爲modal(模態聲明層)、dialog(窗口聲明層)、content(內容層)。
在內容層裏面,還有三層,分別爲header(頭部)、body(主體)、footer(註腳)。 ide
1 //基本實例 2 <!-- 模態聲明,show 表示顯示--> 3 <div class="modal show" tabindex="-1"> 4 <!-- 窗口聲明--> 5 <div class="modal-dialog"> 6 <!-- 內容聲明--> 7 <div class="modal-content"> 8 <!-- 頭部--> 9 <div class="modal-header"> 10 <button type="button" class="close" data-dismiss="modal"><span>×</span></button> 11 <h4 class="modal-title">會員登陸</h4> 12 </div> 13 <!-- 主體--> 14 <div class="modal-body"> 15 <p>暫時沒法登陸會員</p> 16 </div> 17 <!-- 註腳--> 18 <div class="modal-footer"> 19 <button type="button" class="btn btn-default">註冊</button> 20 <button type="button" class="btn btn-primary">登陸</button> 21 </div> 22 </div> 23 </div> 24 </div>
若是想讓模態框自動隱藏,而後經過點擊按鈕彈窗,那麼須要作以下操做。
1 //模態框去掉show,增長一個id 2 <div class="modal" id="myModal"> ui
//點擊觸發模態框顯示spa
1 <button class="btn btn-primary btn-lg"data-toggle="modal" data-target="#myModal">點擊彈窗</button>
//彈窗的大小有三種,默認狀況下是正常,還有lg(大)和sm(小)插件
<div class="modal-dialog modal-lg"> <div class="modal-dialog sm-lg">
//可設置淡入淡出效果code
<div class="modal fade" id="myModal">
//在主體部分使用柵格系統中的流體htm
1 <!-- 主體--> 2 <div class="modal-body"> 3 <div class="container-fluid"> 4 <div class="row"> 5 <div class="col-md-4">1</div> 6 <div class="col-md-4">1</div> 7 <div class="col-md-4">1</div> 8 </div> 9 </div> 10 </div>
二.用法說明blog
全部的插件,都是基於JavaScript/jQuery 的。那麼,就有四個要素:用法、參數、方法和事件。事件
1.用法
第一種:能夠經過data 屬性 ip
1 //data-toggle 2 data-toggle="modal" data-target="#myModal" 3 data-toggle 表示觸發類型 4 data-target 表示觸發的節點
若是不是使用<button>,而是<a>,其中data-target 也可使用href="#myModal"取代。固然,咱們建議使用data-target。除了data-toggle 和data-target 兩個聲明屬性外,還有一些能夠用選項。
2.參數
能夠經過在HTML 元素上設置data-*的屬性聲明來控制效果。
//空白背景且點擊不關閉
data-backdrop="false"
//按下esc 不關閉
data-keyboard="false"
//初始化隱藏,若是是按鈕點擊觸發,第一次點擊則沒法顯示,第二次顯示。
data-show="false"
//加載一次index.html 到容器內
href="index.html"
也能夠在JavaScript 直接設置。
有四個屬性,前三個與上圖同樣。
//經過jQuery 方式聲明
1 $('#myModal').modal({ 2 show : true, 3 backdrop : false, 4 keyboard : false, 5 remote : 'index.html', 6 });
3.方法
若是說,默認不顯示彈窗,那麼怎麼才能經過點擊先後彈窗呢?
//點擊顯示彈窗
1 $('#btn').on('click', function () { 2 $('#myModal').modal('show'); 3 });
4.事件
模態框支持4 種時間,分別對應彈出前、彈出後、關閉前和關閉後。
$('#myModal').on('show.bs.modal', function () { alert('在show 方法調用時當即觸發!'); }); $('#myModal').on('shown.bs.modal', function () { alert('在模態框顯示完畢後觸發!'); }); $('#myModal').on('hide.bs.modal', function () { alert('在hide 方法調用時當即觸發!'); }); $('#myModal').on('hidden.bs.modal', function () { alert('在模態框顯示完畢後觸發!'); }); $('#myModal').on('loaded.bs.modal', function () { alert('遠程數據加載完畢後觸發!'); });