淺析BootStrap中Modal(模態(tài)框)使用心得
BootStrap中Modal(模態(tài)框)描述
Bootstrap Modals(模態(tài)框)是使用定制的 Jquery 插件創(chuàng)建的。它可以用來創(chuàng)建模態(tài)窗口豐富用戶體驗,或者為用戶添加實用功能。您可以在 Modals(模態(tài)框)中使用 Popover(彈出框)和 Tooltip(工具提示插件)。
一、modal使用:
1.1、登錄bootstrap官網(wǎng),點擊下載Bootstrap
1.2、導(dǎo)入對應(yīng)的樣式文件css
1.3、導(dǎo)入對應(yīng)的js,需要導(dǎo)入bootstrap.js或者bootstrap.min.js文件,bootstrap的前提是jQuery,所以我們要在導(dǎo)入bootstrap.js前面導(dǎo)入jquery.min.js
對應(yīng)導(dǎo)入代碼:
<!--導(dǎo)入樣式--> <link href="Bootstrap/css/bootstrap-theme.css" rel="stylesheet"/> <link href="Bootstrap/css/bootstrap-theme.min.css" rel="stylesheet" /> <link href="Bootstrap/css/bootstrap.css" rel="stylesheet"/> <link href="Bootstrap/css/bootstrap.min.css" rel="stylesheet"/> <!--導(dǎo)入bootstrap.js包--> <script src="jquery/jquery-3.1.1.min.js"></script> <script src="Bootstrap/js/bootstrap.min.js"></script>
1.4、從官網(wǎng)找到一個案例使用:
<h2>創(chuàng)建模態(tài)框(Modal)</h2> <!-- 按鈕觸發(fā)模態(tài)框 --> <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">開始演示模態(tài)框</button> <!-- 模態(tài)框(Modal) --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">模態(tài)框(Modal)標題</h4> </div> <div class="modal-body">在這里添加一些文本</div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">關(guān)閉</button> <button type="button" class="btn btn-primary">提交更改</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal --> </div>
二、modal打開:
2.1、靜態(tài)打開:通過data屬性打開隱藏模態(tài)框
設(shè)置按鈕button的data-toggle:"modal"
(以模態(tài)框的形式打開),data-target:"#myModal"
(設(shè)置為modal的id)
2.2、動態(tài)打開:以jquery代碼為例
$("#myModal").modal({ remote:"test/test.jsp";//可以填寫一個url,會調(diào)用jquery load方法加載數(shù)據(jù) backdrop:"static";//指定一個靜態(tài)背景,當用戶點擊背景處,modal界面不會消失 keyboard:true;//當按下esc鍵時,modal框消失 })
remote處可以填寫jsp路徑或者html路徑,用來給modal框注入內(nèi)容
2.3、動態(tài)打開事件:
在modal框加載同時,提供幾個方法用來控制modal框
$("#myModal").on("loaded.bs.modal",function{ //在模態(tài)框加載的同時做一些動作 }); $("#myModal").on("show.bs.modal",function{ //在show方法后調(diào)用 }); $("#myModal").on("shown.bs.modal",function{ //在模態(tài)框完全展示出來做一些動作 }); $("#myModal").on("hide.bs.modal",function{ //hide方法后調(diào)用 }); $("#myModal").on("hiden.bs.modal",function{ //監(jiān)聽模態(tài)框隱藏事件做一些動作 });
2.4、解決remote只加載一次問題:
我們在使用js動態(tài)打開modal框使用remote請求數(shù)據(jù),只會加載一次數(shù)據(jù),所以我們需要在每次打開modal框錢移除節(jié)點數(shù)據(jù)。
解決方案:
$("#myModal").on("hiden.bs.modal",function{ $(this).removeData("bs.modal"); });
2.5、解決事件監(jiān)聽多次:
第一次打開modal框正常,第二次,第三次,第n次打開就有可能會出現(xiàn)事件監(jiān)聽多次的奇怪問題(尤其是多個modal窗口疊加,出現(xiàn)這種問題的幾率更高,我大致判斷有可能是組件bug),所以無奈之舉的辦法,只適合應(yīng)急使用:就是強行讓他只調(diào)用監(jiān)聽一次
int count = 0 ; $("#myModal").on("loaded.bs.modal",function{ if(++count == 1){ //調(diào)用你需要的方法 } //在模態(tài)框加載的同時做一些動作 });
總結(jié):modal框是個很好用的組件,不過官方文檔提醒最好不要多個modal疊加很容易出現(xiàn)很難解決的前端組件問題。
以上所述是小編給大家介紹的淺析BootStrap中Modal(模態(tài)框)使用心得,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 頁面遮罩層,并且阻止頁面body滾動。bootstrap模態(tài)框原理
- Bootstrap每天必學(xué)之模態(tài)框(Modal)插件
- Bootstrap 模態(tài)框(Modal)帶參數(shù)傳值實例
- bootstrap模態(tài)框消失問題的解決方法
- Bootstrap模態(tài)框(modal)垂直居中的實例代碼
- 在iframe中使bootstrap的模態(tài)框在父頁面彈出問題
- bootstrap 模態(tài)框(modal)實現(xiàn)水平垂直居中顯示
- BootStrap 模態(tài)框?qū)崿F(xiàn)刷新網(wǎng)頁并關(guān)閉功能
- Bootstrap模態(tài)框禁用空白處點擊關(guān)閉
- Bootstrap實現(xiàn)模態(tài)框效果
相關(guān)文章
JavaScript中正則表達式使數(shù)字、中文或指定字符高亮顯示
這篇文章主要介紹了JavaScript中正則表達式使數(shù)字、中文或指定字符高亮顯示,需要的朋友可以參考下2017-10-10JavaScript實現(xiàn)動態(tài)生成表格案例詳解
本文主要介紹了通過JavaScript實現(xiàn)一個動態(tài)添加表格的案例,當點擊添加按鈕時,可以彈出一個表單,然后將輸入的內(nèi)容添加到表格中,也可以將表格中的整行內(nèi)容清除。感興趣的可以學(xué)習(xí)一下2021-12-12詳解element-ui 表單校驗 Rules 配置 常用黑科技
這篇文章主要介紹了element-ui 表單校驗 Rules 配置 常用黑科技,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07