模态框(Modal Dialogue Box)也可叫做模态对话框,或者对话框,当一个模态框被打开时,用户可以与该对话框进行交互,点击关闭按钮可关闭该模态框!

功能实现:
1. 页面上有一个按钮,用于打开模态框,模态框默认隐藏;
2. 用户点击按钮,可打开模态框;用户点击模态框中的关闭或者点击页面其他地方可关闭该模态框
✦ 点击页面其他地方,关闭模态框,可用window.onclick事件
✦ 给关闭按钮绑定点击事件,按钮被点击,模态框Modal添加样式display:none;
✦ 给button按钮绑定点击事件,当按钮被点击时,模态框Modal添加样式display:block;
✦ 先获取页面上的button按钮,关闭按钮,以及模态框Modal
代码实现:
<html>
<head>
<style>
/* 弹窗 (background) */
.modal {
display: none; /* 默认隐藏 */
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.4);
}
/* 弹窗内容 */
.modal-content {
position: relative;
background-color: #fefefe;
margin: auto;
padding: 0;
border: 1px solid #888;
width: 35%;
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
-webkit-animation-name: animatetop;
-webkit-animation-duration: 0.4s;
animation-name: animatetop;
animation-duration: 0.4s
}
/* 添加动画 */
@-webkit-keyframes animatetop {
from {top:-300px; opacity:0}
to {top:0; opacity:1}
}
@keyframes animatetop {
from {top:-300px; opacity:0}
to {top:0; opacity:1}
}
/* 关闭按钮 */
.close {
color: white;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
.modal-header {
padding: 2px 16px;
background-color: #5587A2;
color: white;
}
.modal-body {padding: 2px 16px;}
.modal-footer {
padding: 2px 16px;
background-color: #5587A2;
text-align: right;
color: white;
}
</style>
</head>
<body>
<!-- 打开弹窗按钮 -->
<button id="myBtn">打开弹窗</button>
<!-- 弹窗 -->
<div id="myModal" class="modal">
<!-- 弹窗内容 -->
<div class="modal-content">
<div class="modal-header">
<span class="close">×</span>
<h2>弹窗头部</h2>
</div>
<div class="modal-body">
<p>弹窗内容...</p>
<p>弹窗内容...</p>
</div>
<div class="modal-footer">
<h3>弹窗底部</h3>
</div>
</div>
</div>
<script>
// 获取弹窗
var modal = document.getElementById('myModal');
// 打开弹窗的按钮对象
var btn = document.getElementById("myBtn");
// 获取 <span> 元素,用于关闭弹窗 that closes the modal
var span = document.getElementsByClassName("close")[0];
// 点击按钮打开弹窗
btn.onclick = function() {
modal.style.display = "block";
}
// 点击 <span> (x), 关闭弹窗
span.onclick = function() {
modal.style.display = "none";
}
// 在用户点击其他地方时,关闭弹窗
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
</script>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js模态对话框
# js模态框
# js弹窗
# JS 模态对话框和非模态对话框操作技巧汇总
# 利用javascript打开模态对话框(示例代码)
# javascript showModalDialog模态对话框使用说明
# JavaScript 实现模态对话框 源代码大全
# 详解AngularJS 模态对话框
# JS对话框_JS模态对话框showModalDialog用法总结
# 两种WEB下的模态对话框 (asp.net或js的分别实现)
# js实现div模拟模态对话框展现URL内容
# ModelDialog JavaScript模态对话框类代码
# JavaScript实现模态对话框实例
# js实现响应按钮点击弹出可拖拽的非模态对话框完整实例【测试可用】
# 模态
# 对话框
# 窗内
# 绑定
# 上有
# 也可
# 用户可以
# 框中
# 大家多多
# 与该
# position
# modal
# padding
# index
# fixed
# background
# gt
# html
# lt
# 弹窗
相关文章:
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
宝塔新建站点报错如何解决?
Python多线程使用规范_线程安全解析【教程】
建站主机服务器选型指南与性能优化方案解析
建站之星如何助力网站排名飙升?揭秘高效技巧
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
创业网站制作流程,创业网站可靠吗?
,石家庄四十八中学官网?
内网网站制作软件,内网的网站如何发布到外网?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
金*站制作公司有哪些,金华教育集团官网?
建站主机选择指南:服务器配置与SEO优化实战技巧
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
设计网站制作公司有哪些,制作网页教程?
教程网站设计制作软件,怎么创建自己的一个网站?
小建面朝正北,A点实际方位是否存在偏差?
Swift中switch语句区间和元组模式匹配
平台云上自助建站如何快速打造专业网站?
如何在云主机上快速搭建多站点网站?
建站之星展会模板:智能建站与自助搭建高效解决方案
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
如何用景安虚拟主机手机版绑定域名建站?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
建站三合一如何选?哪家性价比更高?
南平网站制作公司,2025年南平市事业单位报名时间?
如何快速使用云服务器搭建个人网站?
如何在腾讯云免费申请建站?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
宝塔面板创建网站无法访问?如何快速排查修复?
建站上市公司网站建设方案与SEO优化服务定制指南
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
建站为何优先选择香港服务器?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
如何选择高效可靠的多用户建站源码资源?
如何用西部建站助手快速创建专业网站?
建站主机空间推荐 高性价比配置与快速部署方案解析
如何在局域网内绑定自建网站域名?
如何用美橙互联一键搭建多站合一网站?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何在西部数码注册域名并快速搭建网站?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
家具网站制作软件,家具厂怎么跑业务?
如何在服务器上配置二级域名建站?
如何用好域名打造高点击率的自主建站?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
Python文件管理规范_工程实践说明【指导】
建站之星如何保障用户数据免受黑客入侵?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。