對於引導4,對@ helloroy的回答擴大我用下面的; -
var modal_lv = 0 ;
$('body').on('shown.bs.modal', function(e) {
if (modal_lv > 0)
{
$('.modal-backdrop:last').css('zIndex',1050+modal_lv) ;
$(e.target).css('zIndex',1051+modal_lv) ;
}
modal_lv++ ;
}).on('hidden.bs.modal', function() {
if (modal_lv > 0)
modal_lv-- ;
});
上述的優點是它不會有任何影響當只有一個模態時,它只能進行倍數運算。其次,它將處理委託給機構,以確保未來的模式仍然得到滿足。
更新
移動到JS/CSS的綜合解決方案提高了外觀 - 漸變動畫繼續在背景工作; -
var modal_lv = 0 ;
$('body').on('show.bs.modal', function(e) {
if (modal_lv > 0)
$(e.target).css('zIndex',1051+modal_lv) ;
modal_lv++ ;
}).on('hidden.bs.modal', function() {
if (modal_lv > 0)
modal_lv-- ;
});
與下面的CSS相結合; -
.modal-backdrop ~ .modal-backdrop
{
z-index : 1051 ;
}
.modal-backdrop ~ .modal-backdrop ~ .modal-backdrop
{
z-index : 1052 ;
}
.modal-backdrop ~ .modal-backdrop ~ .modal-backdrop ~ .modal-backdrop
{
z-index : 1053 ;
}
這將處理嵌套深達4深,這是比我需要的模式。
可以在http://www.bootply.com/lvKQA2AM28找到一個工作示例 – CrandellWS
reff的詳細博客:http://sforsuresh.in/bootstrap-modal-window-close-current-open-new-模式/ –