纯js实现遮罩层效果原理分析


Posted in Javascript onMay 27, 2014

可以说这个功能,在我理解了前面的“贪吃蛇”之后,实在是与刚开始想象的难度差了好多,当然是这种方式有取巧之嫌,终归是实现了功能,我们来进行分析整理

1、实现原理

本片文章的 是实现原理如下:

* 实际上弹出层、遮罩层和原页面显示分别为三个不同的div

* 弹出层的层级在遮罩层之上,遮罩层的层级在原页面显示之上;

* 遮罩层有通明效果

* 遮罩层没有实际意义,则无需在html部分就写上,当然写上同样可以实现

2、代码实现

html语言如下:

<html> .... 
<body> 
<center> 
<div ><input type="button" value="go" onclick="show()"></div> 
<div id="alert" style="display:none;"> 
<form> 
登录 
<input type="text"><input type="password"><input type="submit" value="login"> 
</form> 
</div> 
</center> 
</body> 
</html>

javascript实现弹出层和遮罩层:
<span style="font-size:12px;">function show(){ 
var alertPart=document.getElementById("alert"); 
alertPart.style.display="block"; 
alertPart.style.position = "absolute"; 
alertPart.style.top = "50%"; 
alertPart.style.left = "50%"; 
alertPart.style.marginTop = "-75px"; 
alertPart.style.marginLeft = "-150px"; 
alertPart.style.background="cyan"; 
alertPart.style.width="300px"; 
alertPart.style.height="200px"; 
alertPart.style.zIndex = "501"; var mybg = document.createElement("div"); 
mybg.setAttribute("id","mybg"); 
mybg.style.background = "#000"; 
mybg.style.width = "100%"; 
mybg.style.height = "100%"; 
mybg.style.position = "absolute"; 
mybg.style.top = "0"; 
mybg.style.left = "0"; 
mybg.style.zIndex = "500"; 
mybg.style.opacity = "0.3"; 
mybg.style.filter = "Alpha(opacity=30)"; 
document.body.appendChild(mybg); 
document.body.style.overflow = "hidden"; 
} 
</script></span>

这里用z-index来区分层级,opacity和filter:alpha(opacity=)透明度,document.createElement("div")和document.body.appendChild()这些都是在之前出现过,应用过的了,这样我们就能实现了,其实当原理明白了的那一刻,一切也就容易多了吧。

路漫漫而修远兮啊

Javascript 相关文章推荐
js验证IP及子网掩码的合法性有效性示例
Apr 30 Javascript
jquery实现鼠标滑过小图时显示大图的方法
Jan 14 Javascript
JavaScript中Function详解
Feb 27 Javascript
JS实现的另类手风琴效果网页内容切换代码
Sep 08 Javascript
微信小程序 LOL 英雄介绍开发实例
Sep 30 Javascript
JS实现的验证身份证及获取地区功能示例
Jan 16 Javascript
vue监听scroll的坑的解决方法
Sep 07 Javascript
Vue表单类的父子组件数据传递示例
May 03 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
Dec 05 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
Apr 28 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
Mar 07 Javascript
js中实现继承的五种方法
Jan 25 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
May 27 #Javascript
JQuery获取表格数据示例代码
May 26 #Javascript
chrome下img加载对height()的影响示例探讨
May 26 #Javascript
chrome下jq width()方法取值为0的解决方法
May 26 #Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
May 26 #Javascript
JQuery实现table行折叠效果以JSON做数据源
May 26 #Javascript
jquery attr方法获取input的checked属性问题
May 26 #Javascript
You might like
PHP安全防范技巧分享
2011/11/03 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
js变换显示图片的实例
2013/04/16 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
2016/12/16 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
python与字符编码问题
2019/05/24 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
html5 学习简单的拾色器
2010/09/03 HTML / CSS
物流专业大学生的自我鉴定
2013/11/13 职场文书
小学三年级学生评语
2014/04/22 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android