Bootstrap每天必學(xué)之模態(tài)框(Modal)插件
本節(jié)課我們主要學(xué)習(xí)一下 Bootstrap 中的模態(tài)框插件, 這是一款交互式網(wǎng)站非常常見的彈窗功能插件。
更多關(guān)于Bootstrap模態(tài)框插件內(nèi)容請(qǐng)點(diǎn)擊專題《Bootstrap Modal使用教程》進(jìn)行學(xué)習(xí),希望大家喜歡,下面繼續(xù)
一.基本使用
使用模態(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> <h4 class="modal-title">會(huì)員登錄</h4> </div> <!-- 主體 --> <div class="modal-body"> <p> 暫時(shí)無(wú)法登錄會(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)隱藏,然后通過(guò)點(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>
二.用法說(shuō)明
基本使用介紹結(jié)束之后,我們就來(lái)看下插件的各種重要用法。所有的插件,都是基于JavaScript/jQuery 的。那么,就有四個(gè)要素:用法、參數(shù)、方法和事件。
1.用法
第一種:可以通過(guò) 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ù)
可以通過(guò)在 HTML 元素上設(shè)置 data-*的屬性聲明來(lái)控制效果。

//空白背景且點(diǎn)擊不關(guān)閉 data-backdrop="false" //按下 esc 不關(guān)閉 data-keyboard="false" //初始化隱藏,如果是按鈕點(diǎn)擊觸發(fā),第一次點(diǎn)擊則無(wú)法顯示,第二次顯示。 data-show="false" //加載一次 index.html 到容器內(nèi) href="index.html"
當(dāng)然,也可以在 JavaScript 直接設(shè)置。

//通過(guò) jQuery 方式聲明
$('#myModal').modal({
show : true,
backdrop : false,
keyboard : false,
remote : 'index.html',
});
3.方法
如果說(shuō),默認(rèn)不顯示彈窗,那么怎么才能通過(guò)點(diǎn)擊前后彈窗呢?

//點(diǎn)擊顯示彈窗
$('#btn').on('click', function() {
$('#myModal').modal('show');
});
4.事件
模態(tài)框支持 4 種時(shí)間,分別對(duì)應(yīng)彈出前、彈出后、關(guān)閉前和關(guān)閉后。

$('#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ā)!');
});
本文系列教程整理到:Bootstrap基礎(chǔ)教程 專題中,歡迎點(diǎn)擊學(xué)習(xí)。
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附3個(gè)精彩的專題:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- 頁(yè)面遮罩層,并且阻止頁(yè)面body滾動(dòng)。bootstrap模態(tài)框原理
- 淺析BootStrap中Modal(模態(tài)框)使用心得
- Bootstrap 模態(tài)框(Modal)帶參數(shù)傳值實(shí)例
- bootstrap模態(tài)框消失問(wèn)題的解決方法
- Bootstrap模態(tài)框(modal)垂直居中的實(shí)例代碼
- 在iframe中使bootstrap的模態(tài)框在父頁(yè)面彈出問(wèn)題
- bootstrap 模態(tài)框(modal)實(shí)現(xiàn)水平垂直居中顯示
- BootStrap 模態(tài)框?qū)崿F(xiàn)刷新網(wǎng)頁(yè)并關(guān)閉功能
- Bootstrap模態(tài)框禁用空白處點(diǎn)擊關(guān)閉
- Bootstrap實(shí)現(xiàn)模態(tài)框效果
相關(guān)文章
基于js中style.width與offsetWidth的區(qū)別(詳解)
下面小編就為就大家?guī)?lái)一篇基于js中style.width與offsetWidth的區(qū)別(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
判斷JavaScript中的兩個(gè)變量是否相等的操作符
可能有些同學(xué)看到這個(gè)標(biāo)題就會(huì)產(chǎn)生疑惑,為什么我們要判斷JavaScript中的兩個(gè)變量是否相等,JavaScript不是已經(jīng)提供了雙等號(hào)“==”以及三等號(hào)“===”給我們使用了嗎2019-12-12
js項(xiàng)目中雙向數(shù)據(jù)綁定的簡(jiǎn)單實(shí)現(xiàn)方法
雙向數(shù)據(jù)綁定指的就是,綁定對(duì)象屬性的改變到用戶界面的變化的能力,反之亦然,下面這篇文章主要給大家介紹了關(guān)于js項(xiàng)目中雙向數(shù)據(jù)綁定的簡(jiǎn)單實(shí)現(xiàn)方法,需要的朋友可以參考下2021-08-08
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL錯(cuò)誤的解決方法
這篇文章主要介紹了JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL錯(cuò)誤的解決方法,涉及針對(duì)字符串參數(shù)的處理方法,需要的朋友可以參考下2016-08-08
JavaScript 中調(diào)用 Kotlin 方法實(shí)例詳解
這篇文章主要介紹了JavaScript 中調(diào)用 Kotlin 方法實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
通過(guò)JavaScript使Div居中并隨網(wǎng)頁(yè)大小改變而改變
自己的頁(yè)面太難看了,要居中沒(méi)居中,要顏色沒(méi)顏色,但是無(wú)論是怎么樣都得使登錄的框居中吧,下面與大家分享下通過(guò)JavaScript可以簡(jiǎn)單的使Div在頁(yè)面上居中,隨著網(wǎng)頁(yè)大小的改變做出相應(yīng)的改變2013-06-06
Javascript 定時(shí)器調(diào)用傳遞參數(shù)的方法
Javascript 定時(shí)器調(diào)用傳遞參數(shù)的方法,需要的朋友可以參考下。2009-11-11

