1. 程式人生 > >bootstrap模態視窗模態框

bootstrap模態視窗模態框

一.基本使用

使用模態框的彈窗元件需要三層 div 容器元素,分別為 modal(模態宣告層)、dialog(視窗宣告層)、content(內容層)。在內容層裡面,還有三層,分別為 header(頭部)、body(主體)、footer(註腳)。

//基本例項

<!-- 模態宣告,show 表示顯示 -->
<div class="modal show" tabindex="-1">
    <!-- 視窗宣告 -->
    <div class="modal-dialog">
        <!-- 內容宣告 -->
        <div class
="modal-content"> <!-- 頭部 --> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"> <span>&times;</span> </button> <h4 class="modal-title">會員登入</h4> </div> <!-- 主體 --> <div class
="modal-body"> <p>暫時無法登入會員</p> </div> <!-- 註腳 --> <div class="modal-footer"> <button type="button" class="btn btn-default">註冊</button> <button type="button" class="btn btn-primary">登入</button> </div> </div> </div> </div>
效果:


如果想讓模態框自動隱藏,然後通過點選按鈕彈窗,那麼需要做如下操作。
//模態框去掉 show,增加一個 id
<div class="modal" id="my Modal">

<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">
//可設定淡入淡出效果
<div class="modal fade" id="my Modal">

<div class="modal-body">
  //在主體部分使用柵格系統中的流體
<div class="container-fluid">
    <div class="row">
        <div class="col-md-4">1</div>
        <div class="col-md-4">1</div>
        <div class="col-md-4">1</div>
   </div> 
  </div>
  

  <p>暫時無法登入會員</p>
  </div> 

二.用法說明
基本使用介紹結束之後,我們就來看下外掛的各種重要用法。所有的外掛,都是基於Java Script/j Query 的。那麼,就有四個要素:用法、引數、方法和事件。

.用法
第一種:可以通過 data 屬性
//data-toggle
data-toggle="modal" data-target="#my Modal"
data-toggle 表示觸發型別
data-target 表示觸發的節點

如果不是使用<button>,而是<a>,其中 data-target 也可以使用 href="#my Modal"取代。當然,我們建議使用 data-target。除了 ata-toggle 和data-target 兩個宣告屬性外,還有一些可以用選項。

2.引數
可以通過在HTML 元素上設定data-*的屬性宣告來控制效果。


//空白背景且點選不關閉
data-backdrop="false"
//按下esc 不關閉
data-keyboard="false"
//初始化隱藏,如果是按鈕點選觸發,第一次點選則無法顯示,第二次顯示。
data-show="false"
//載入一次index.html 到容器內
href="index.html"
當然,也可以在JavaScript 直接設定。


//點選顯示彈窗
$('#btn').on('click', function () {
$('#myModal').modal('show');
});

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('hiden.bs.modal', function () {
alert('在模態框顯示完畢後觸發!');
});
$('#myModal').on('loaded.bs.modal', function () {
alert('遠端資料載入完畢後觸發!');
});

遠端載入

$('#myModal').modal({
show : false,
remote : 'content.html'
});
$('#myModal').on('loaded.bs.modal', function () {
alert('當遠端載入後觸發!');
});