bootstrap多个模态框嵌套显示,造成的遮罩颜色加深和页面滚动条问题
发布日期:2021-04-30 21:04:37
浏览次数:98
分类:精选文章
本文共 1562 字,大约阅读时间需要 5 分钟。
在 Bootstrap 的模态框功能中,当多个模态框同时存在时,通常会遇到一个问题:当用户关闭一个模态框后,滚动条会消失。这种情况可能是由于 Bootstrap 在模态框显示时会通过调整 body 的 padding 和 z-index 来实现滚动条的效果。为了解决这个问题,我在大神的基础上对代码进行了优化。
具体来说,我通过检查当前页面是否还有其他模态框来决定是否需要重置 body 的样式。代码逻辑如下:
$(document).on('show.bs.modal', '.modal', function(event) { $(this).appendTo($('body'));}).on('shown.bs.modal', '.modal.in', function(event) { setModalsAndBackdropsOrder();}).on('hidden.bs.modal', '.modal', function(event) { setModalsAndBackdropsOrder();});$.fn.modal.Constructor.prototype.hideModal = function() { var that = this; this.$element.hide(); this.backdrop(function() { // 判断当前页面所有的模态框都已经隐藏了之后,重置 body 的样式 if ($('.modal.fade.in').length === 0) { that.$body.removeClass('modal-open'); that.$body.css({ "padding": "8px 20px" }); } else { that.$body.addClass('modal-open'); that.$body.css({ "padding": "8px 20px" }); } that.resetAdjustments(); that.resetScrollbar(); that.$element.trigger('hidden.bs.modal'); });};function setModalsAndBackdropsOrder() { var modalZIndex = 1040; $('.modal.in').each(function(index) { var $modal = $(this); modalZIndex++; $modal.css('zIndex', modalZIndex); $modal.next('.modal-backdrop.in').addClass('hidden').css('zIndex', modalZIndex - 1); }); $('.modal.in:visible:last').focus().next('.modal-backdrop.in').removeClass('hidden');} 通过以上优化,模态框的滚动条问题得到了有效解决。现在无论用户关闭哪个模态框,滚动条都会正确显示,同时所有模态框的 z-index 和布局也得到了合理的调整。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2026年06月07日 06时47分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php正则表达式模式
2023-03-01
php正则表达式的特殊字符含义
2023-03-01
PHP正则表达式获取武汉市的实时pm2.5数据并邮件发送phpmailer
2023-03-01
RabbitMQ + JMeter组合,优化你的中间件处理方式!
2023-03-01
PHP水仙花问题解法之一
2023-03-01
php没有解析是怎么回事,linux下php文件没有被剖析怎么办?_后端开发
2023-03-01
php注册页面实现注册后跳转页面
2023-03-01
PHP消息队列的实现方式与详解,值得一看
2025-05-04
PHP混合Go协程并发
2025-05-04
php源码中如何添加滚动公告,给WordPress网站添加滚动公告的方法
2025-05-04
PHP源码安装后如何新增模块
2025-05-04
php源码详细安装步骤,linux下php源码安装步骤
2025-05-04
php漏洞tips
2025-05-04
php版Zencoding之 phpstorm
2025-05-04
PHP版本升级5.4手记
2025-05-04
php版本升级总结
2025-05-04
php版本微信公众号开发
2025-05-04
php版的微信公众号开发演示
2025-05-04
php生成html文件的多种方法介绍
2025-05-04
php生成二维码到图片上
2025-05-04