JS实现弹出模态窗口并屏蔽主页面交互
作者:竹影时间:2026-10-30 18:46:38浏览:625
本文介绍如何使用JavaScript和CSS实现一个服务评分弹窗,通过设置遮罩层z-index高于主页面但低于弹窗,使背景变灰且不可点击,确保用户只能与弹窗交互。
实现服务评分弹窗及背景屏蔽
当需要实现如截图所示的操作时,点击服务评分按钮,会弹出一个服务评分窗口用于填写相关表单信息。
然而,直接弹出该界面会导致用户仍能点击主页面中的购物车等其他链接,这不符合交互逻辑。因此,我们可以利用层叠样式表(CSS)指定一个覆盖整个页面的遮罩层,将其z-index设置为低于当前服务评分表单页面但高于主页面,从而屏蔽对主页面的点击操作,具体实现如下所示。
/* 定义一个div用于覆盖整个页面,这个div的z-index大于body,小于服务评分div */
#temp{
background-color: #000;
opacity: 0.3;
width: 100%;
height: 100%;
z-index: 2;
visibility: hidden;
}
/* 评分div,其z-index最大(当显示时) */
#mark{
background-color: rgb(255,255,255);
width: 400px;
height: 250px;
z-index: 3;
visibility: hidden;
}
/* 包含了服务评分、购物车等的div */
#main{
background-color: rgb(255,255,255);
width: 100%;
height: 100%;
z-index: 1;
}
<div id="temp"></div>
<div id="mark"></div>
<div id="main"></div>
<a id="link"><i>点击我进行层叠</a>
<script>
window.onload = function() {
document.getElementById("link").onclick = function(){
document.getElementById("temp").style.visibility = "visible";
document.getElementById("mark").style.visibility = "visible";
}
}
</script>
最终效果如截图所示:

以上介绍了基于JavaScript实现弹出隐藏div窗口、使body页面变灰且不可编辑的方法,希望对大家有所帮助。如有任何疑问,欢迎留言,小编会及时回复。在此也非常感谢大家对本站网站的支持!
作者最新文章
网页开发三者分工:HTML结构、CSS样式与JavaScript交互怎么协作
2026-11-05 12:51:22
JS解析URL参数时怎么处理中文乱码和特殊字符
2026-11-05 12:47:23
js-cookie 存储 JSON 对象:自动序列化与反序列化技巧
2026-11-05 12:36:26
marked.js 快速上手:安装与基础 Markdown 转 HTML 示例
2026-11-05 09:32:53
Phaser.js 与 PixiJS、Cocos Creator 的技术选型对比
2026-11-05 08:36:30
