JavaScript小白实现简易悬浮层制作(含测试源码)
本博文源于js基础,旨在讨论如何实现js中的悬浮层制作。
问题再现
制作一个悬浮层特效。所谓悬浮层指的是一个绝对定位的div盒子,它像系统对话框一样盖住页面的原有内容。
测试效果
a模拟页面内容
盒子模拟悬浮层
实现原理
只需用一个绝对定位的盒子模拟悬浮层即可,给他设置水平居中、垂直居中。盒子定位完成之后,给他设置display:none,此时盒子变的不可见。
在页面上设置一个按钮“显示悬浮层”,希望点击这个按钮后,能显示悬浮层。悬浮层显示之后,能够点击页面任何地方(除在悬浮层上点击)关闭这个悬浮层
代码区域
代码讲解
按下按钮显示悬浮层很简单,只需要display设置即可,如果点击空白关闭悬浮层那就需要用document对象,document是整个文档。
js初始化获得各种id,然后根据btn按下按钮,阻止阻止事件续传播,然后显示悬浮层。document被点击再次设置display,点击悬浮层的时候也不要把悬浮层关闭,那就给悬浮层做个阻止事件继续传播。
附上代码
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">.superposedlayer {position: absolute;width: 300px;height: 150px;background-color: orange;top:50%;left:50%;margin-left:-300px;margin-top:-150px;display: none;overflow: hidden;}</style></head><body><div class="superposedlayer" id = "superposedlayer">我是悬浮层</div><button id="btn">点我出现悬浮,点空白取消悬浮</button><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p><script type="text/javascript">var btn = document.getElementById("btn");var superposedlayer = document.getElementById("superposedlayer");btn.onclick = function(event) {event.stopPropagation();superposedlayer.style.display = "block";}document.onclick = function() {superposedlayer.style.display = "none";} superposedlayer.onclick = function(event) {event.stopPropagation();}</script></body>
</html>
JavaScript小白实现简易悬浮层制作(含测试源码)相关推荐
- js|BMI指数计算(含测试源码)
本博文源于js基础,博主之前写的安卓bmi. Android|BMI体质计算器实现(附测试源码) 再去看今天这道题的标准,其实发现更简单了 题目重现 BMI指数是用体重(以千克为单位)除以身高(以米为 ...
- [含lw+源码等]javaweb银行柜员业务绩效考核系统
博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 [含lw+源码等]javaweb银行柜员业务绩效考核系统 演示视频 ...
- [含论文+源码等]高校科研项目管理系统[包运行成功]
源码获取:我的博客资源页面可以下载!!!! 项目名称 [含论文+源码等]高校科研项目管理系统[包运行成功] 系统介绍 <高校科研项目管理系统>该项目采用技术:jsp +servlet + ...
- Android 小应用之一个activity实现简易手电筒(内附免费源码)
Android小应用之一个activity实现简易手电筒(内附免费源码) 1.activity代码 2.xml代码 3.资源文件代码 4.源码压缩包(免费) 今天爷爷说他手机更新之后找不到手电筒了,我 ...
- 较高人工智能的人机博弈程序实现(多个算法结合)含C++源码
较高人工智能的人机博弈程序实现(多个算法结合)含C++源码 本文由恋花蝶最初发表于http://blog.csdn.net/lanphaday 上,您可以转载.引用.打印和分发等,但必须保留本文完整和 ...
- Android Input子系统-含实例源码
Android Input子系统-含实例源码 1 Input子系统作用 Android很多外设都是用到输入输出设备,比如touchscreen,键盘,音量键等,输入 设备对应Android 框架是An ...
- 【图像去噪】基于matlab小波滤波(硬阙值+软阙值)+中值滤波图像去噪【含Matlab源码 462期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab小波滤波(硬阙值+软阙值)+中值滤波图像去噪[含Matlab源码 462期] 获取代码方式2: 通过订阅紫极神光 ...
- Android实现车辆检测(含Android源码 可实时运行)
Android实现车辆检测(含Android源码 可实时运行) 目录 Android实现车辆检测(含Android源码 可实时运行) 1. 前言 2. 车辆检测数据集说明 3. 基于YOLOv5的车辆 ...
- 【缺陷检测】基于matlab AlexNet和SVM异常螺母检测【含Matlab源码 2147期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [缺陷检测]基于matlab形态学水果蔬菜缺陷检测[含Matlab源码 820期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...
最新文章
- 神在夏至祭降下了神谕(oracle)
- 传递list对象作为参数_24.scala的隐式参数
- c语言 java高并发_Java高并发解决方式 2019.docx
- python中数组的维度_Python数组维度问题
- Service Broker in SAP Gateway and Kubernetes
- Ant Design Pro 修改title
- (BFS)Prime Path (poj3126)
- 带下划线的二级域名IE无法读取session
- 如何设置电脑自动锁屏_Apple ID密码忘了怎么重置?丨如何让面容和指纹解锁立马失效?...
- Kaggle实战之食尸鬼、地精、鬼魂分类
- 蒙特卡洛仿真的基于Python实例
- 压缩照片大小——PPT实现
- .woff2/svg/woff文件报404错误
- Android 恢复出厂设置(recovery)
- 开心网刷分程序详解以及web游戏破解思路分析(一)
- 字节码编程 | 工作多年的你依然重复做着CRUD?是否接触过这种技术?
- indiegogo众筹
- 2022年临床执业医师资格考试《系统解剖学》习题及答案
- NAPI之(一)——原理和实现
- 【转载】一个硕士程序员的求婚日记——做开发的不是木头人!
热门文章
- 【源码共享】我花2小时写了微信官网的响应式布局HTML+CSS 换成旅行主题风格更炫酷了
- 虚拟机Linux忘记root密码的解决办法
- 《那些年啊,那些事——一个程序员的奋斗史》——17
- 2022-11 | Redis命令SET SETEX SETNX语法及描述
- Opencv批量处理图片的两种方法
- Android 自定义表格显示数据
- 适合微信小程序作品的极简番茄时钟
- unable to find encoder for type stored in a dataset的解决方法
- 借力函数计算 FC,HEROZ 打造专业级 AI 日本将棋服务
- 【必知必会的MySQL知识】②使用MySQL