bootstrap實(shí)現(xiàn)嵌套模態(tài)框的實(shí)例代碼
項(xiàng)目上有一個(gè)需求,需要在已經(jīng)彈出的一個(gè)bootstrap模態(tài)框的基礎(chǔ)上再?gòu)椧粋€(gè)模態(tài)框。
因?yàn)閎ootstrap官方不建議這么做,最后實(shí)現(xiàn)的過(guò)程屬實(shí)不易。
以下是解決方案:
html代碼:
<div id="container">
<a data-toggle="modal" href="#myModal" rel="external nofollow" class="btn btn-primary">彈出第一層模態(tài)框</a>
<!-- 第一層模態(tài)框 -->
<div class="modal fade" id="myModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">第一層模態(tài)框</h4>
</div>
<div class="container"></div>
<div class="modal-body">
<p>第一層模態(tài)框</p>
<br>
<a data-toggle="modal" href="#myModal2" rel="external nofollow" class="btn btn-primary">彈出第二層模態(tài)框</a>
</div>
<div class="modal-footer"> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" data-dismiss="modal" class="btn">關(guān)閉</a>
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn btn-primary">保存</a>
</div>
</div>
</div>
</div>
<!-- 第二層模態(tài)框 -->
<div class="modal fade rotate" id="myModal2">
<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">第二層模態(tài)框</h4>
</div>
<div class="container"></div>
<div class="modal-body">
<p>第二層模態(tài)框</p>
</div>
<div class="modal-footer">
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" data-dismiss="modal" class="btn">關(guān)閉</a>
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn btn-primary">保存</a>
</div>
</div>
</div>
</div>
<!-- 遮罩 -->
<div id="cover"></div>
</div>
遮罩的css樣式:
<style type="text/css">
<!-- 遮罩是為了第二層模態(tài)框彈出時(shí),可以將第一層模態(tài)框遮住 -->
#cover {
display: none;
position: fixed;
background: #000000;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0.40;
z-index: 1
}
</style>
js代碼:
$(document).ready(function (){
//第二層模態(tài)框彈出時(shí),為其設(shè)置一個(gè)大于第一層模態(tài)框的z-index
//使得第二層模態(tài)框可以在第一層模態(tài)框上面
$(document).on('show.bs.modal', '#myModal2', function (event) {
var zIndex = 1040 + (10 * $('.modal:visible').length+1);
$(this).css('z-index', zIndex);
//開(kāi)啟遮罩,遮罩的高度小于第二層模態(tài)框
$("#cover").css('z-index',zIndex-1)
$('#cover').css('display','block'); //顯示遮罩層
});
$('#myModal2').on('hide.bs.modal', function() {
//第二層模態(tài)框關(guān)閉時(shí),關(guān)閉遮罩
$('#cover').css('display','none');
});
});
總結(jié)
以上所述是小編給大家介紹的bootstrap實(shí)現(xiàn)嵌套模態(tài)框的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
js prototype深入理解及應(yīng)用實(shí)例分析
這篇文章主要介紹了js prototype深入理解及應(yīng)用,結(jié)合實(shí)例形式分析了JavaScript prototype屬性功能、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-11-11
asp.net HttpHandler實(shí)現(xiàn)圖片防盜鏈
這個(gè)例子來(lái)自于《Maximizing ASP.NET Real World, Object-Oriented Development》一書(shū), 需要的朋友可以參考下。2009-11-11
迅速了解一下ES10中Object.fromEntries的用法使用
這篇文章主要介紹了迅速了解一下ES10中Object.fromEntries的用法使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03
基于JavaScript中標(biāo)識(shí)符的命名規(guī)則介紹
下面小編就為大家分享一篇基于JavaScript中標(biāo)識(shí)符的命名規(guī)則介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
js字符串轉(zhuǎn)json對(duì)象的四種實(shí)現(xiàn)方法
使用ajax的開(kāi)發(fā)項(xiàng)目過(guò)程中,經(jīng)常需要將json格式的字符串返回到前端,前端解析成js對(duì)象(JSON),下面這篇文章主要給大家介紹了關(guān)于js字符串轉(zhuǎn)json對(duì)象的四種實(shí)現(xiàn)方法,需要的朋友可以參考下2023-04-04

