溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Bootstrap 模態(tài)框插件

發(fā)布時(shí)間:2020-07-15 10:41:31 來源:網(wǎng)絡(luò) 閱讀:500 作者:菜鳥不菜么 欄目:web開發(fā)
一.基本使用
使用模態(tài)框的彈窗組件需要三層 div 容器元素,分別為 modal(模態(tài)聲明層)、
dialog(窗口聲明層)、content(內(nèi)容層)。在內(nèi)容層里面,還有三層,分別為 header(頭部)、body(主體)、footer(注腳)。
//基本實(shí)例
<!-- 模態(tài)聲明,show 表示顯示 -->
<div class="modal show" tabindex="-1">
<!-- 窗口聲明 -->
<div class="modal-dialog">
<!-- 內(nèi)容聲明 -->
<div class="modal-content">
<!-- 頭部 -->
<div class="modal-header">
<button type="button" class="close"
data-dismiss="modal">
<span>×</span>
</button>
<h5 class="modal-title">會(huì)員登錄</h5>
</div>
<!-- 主體 -->
<div class="modal-body">
<p>暫時(shí)無法登錄會(huì)員</p>
</div>
<!-- 注腳 -->
<div class="modal-footer">
<button type="button" class="btn btn-default">
注冊(cè)</button>
<button type="button" class="btn btn-primary">
登錄</button>
</div>
</div>

</div>
</div>

如果想讓模態(tài)框自動(dòng)隱藏,然后通過點(diǎn)擊按鈕彈窗,那么需要做如下操作。
//模態(tài)框去掉 show,增加一個(gè) id
<div class="modal" id="myModal">

//點(diǎn)擊觸發(fā)模態(tài)框顯示
<button class="btn btn-primary btn-lg"
data-toggle="modal" data-target="#myModal">
點(diǎn)擊彈窗
</button>

//彈窗的大小有三種,默認(rèn)情況下是正常,還有 lg(大)和 sm(小)
<div class="modal-dialog modal-lg">
<div class="modal-dialog sm-lg">

//可設(shè)置淡入淡出效果
<div class="modal fade" id="myModal">

//在主體部分使用柵格系統(tǒng)中的流體
<!-- 主體 -->
<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>
</div>

二.用法說明
基本使用介紹結(jié)束之后,我們就來看下插件的各種重要用法。所有的插件,都是基于
JavaScript/jQuery 的。那么,就有四個(gè)要素:用法、參數(shù)、方法和事件。
1.用法
第一種:可以通過 data 屬性
//data-toggle
data-toggle="modal" data-target="#myModal"

data-toggle 表示觸發(fā)類型
data-target 表示觸發(fā)的節(jié)點(diǎn)

如果不是使用<button>,而是<a>,其中 data-target 也可以使用 href="#myModal"

取代。當(dāng)然,我們建議使用 data-target。除了 data-toggle 和 data-target 兩個(gè)聲明屬性外,還有一些可以用選項(xiàng)。

2.參數(shù)

可以通過在 HTML 元素上設(shè)置 data-*的屬性聲明來控制效果。
Bootstrap 模態(tài)框插件

//空白背景且點(diǎn)擊不關(guān)閉data-backdrop="false"

//按下 esc 不關(guān)閉
data-keyboard="false"

//初始化隱藏,如果是按鈕點(diǎn)擊觸發(fā),第一次點(diǎn)擊則無法顯示,第二次顯示。data-show="false"

//加載一次 index.html 到容器內(nèi)
href="index.html"
//空白背景且點(diǎn)擊不關(guān)閉data-backdrop="false"

//按下 esc 不關(guān)閉
data-keyboard="false"

//初始化隱藏,如果是按鈕點(diǎn)擊觸發(fā),第一次點(diǎn)擊則無法顯示,第二次顯示。data-show="false"

//加載一次 index.html 到容器內(nèi)
href="index.html"

Bootstrap 模態(tài)框插件
//通過 jQuery 方式聲明
$('#myModal').modal({ show : true, backdrop : false, keyboard : false,
remote : 'index.html',
});

3.方法
如果說,默認(rèn)不顯示彈窗,那么怎么才能通過點(diǎn)擊前后彈窗呢?
Bootstrap 模態(tài)框插件
//點(diǎn)擊顯示彈窗
$('#btn').on('click', function () {
$('#myModal').modal('show');
});

4.事件
模態(tài)框支持 4 種時(shí)間,分別對(duì)應(yīng)彈出前、彈出后、關(guān)閉前和關(guān)閉后。
Bootstrap 模態(tài)框插件
$('#myModal').on('show.bs.modal', function () {
alert('在 show 方法調(diào)用時(shí)立即觸發(fā)!');
});

$('#myModal').on('shown.bs.modal', function () {
alert('在模態(tài)框顯示完畢后觸發(fā)!');
});

$('#myModal').on('hide.bs.modal', function () {
alert('在 hide 方法調(diào)用時(shí)立即觸發(fā)!');
});

$('#myModal').on('hiden.bs.modal', function () {
alert('在模態(tài)框顯示完畢后觸發(fā)!');
});

$('#myModal').on('loaded.bs.modal', function () {
alert('遠(yuǎn)程數(shù)據(jù)加載完畢后觸發(fā)!');
});

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI