JavaScript

超轻量级php框架startmvc

Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题

更新时间:2020-04-25 15:20:02 作者:startmvc
 上篇提到的'Bootstrapmodal多弹窗之叠加关闭阴影遮罩问题'我总结了下,对于modal多窗口叠

 上篇提到的' Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题'

我总结了下,对于modal多窗口叠加引起的遮罩,滚动条,无法弹出窗口的问题,查看源代码,我总结了一种方法可以一次性解决所有这些问题,而不影响原有modal功能,并且实现了多窗口叠加。

对于多窗口,如果我们将第二个,乃至第三个,第四个modal的根节点,移植到body下面,就不会出现了以上问题。 具体该如何操作,请看以下代码:

通常我们遇到多弹窗的问题,是出现在modal套modal中,也就是:


<div class='fade modal' id='modal_demo' style='display:none'>
 <div class='modal-dialog modal-max-lg'>
 <div class='modal-content'>
 <div class='modal-header'>
 <button class='close' id='feature-mapping-dialog-form_close_button' type='button'>x</button>
 <h4 class='modal-title'>Map Features</h4>
 </div>
 <div class='modal-body'>
 <div>
 <table>
 <tr>
 .....
 <td>
 <div class='fade modal' id='modal_demo' style='display:none'>
 <div class='modal-dialog modal-max-lg'>
 <div class='modal-content'>
 <div class='modal-header'>
 <button class='close' id='feature-mapping-dialog-form_close_button' type='button'>x</button>
 <h4 class='modal-title'>Map Features</h4>
 </div>
 <div class='modal-body'> 
 ...

第二个窗口是在click事件中,弹出,在第一个modal层上出现。这里,我们可以在common.js中写如下代码:


$('#click_demo').live('click', function(e) {
 $("#body").append("<div class='fade modal' id='model_dialog'/>");
 $("#body").children().last().append($(this).next().html());
 $("#body").children().last().modal();
});
$("#click_demo").live('hidden.bs.modal',function(){
 $("#body").children().last().remove();
})

click代码:


<div id="click_demo",class="idel",style="display:inline" >
 <img alt='click details' src="/icons/demo.png" title="click to details">
<div class='fade modal' id='modal_demo' style='display:none'>
 <div class='modal-dialog modal-max-lg'>
 <div class='modal-content'>
 <div class='modal-header'>
 <button class='close' id='feature-mapping-dialog-form_close_button' type='button'>x</button>

以上所述是小编给大家介绍的Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

bootstrap modal 遮罩