纯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 相关文章推荐
比Jquery的document.ready更快的方法
Apr 28 Javascript
js控制输入框获得和失去焦点时状态显示的方法
Jan 30 Javascript
jQuery设置和移除文本框默认值的方法
Mar 09 Javascript
轻松5句话解决JavaScript的作用域
Jul 15 Javascript
Bootstrap文件上传组件之bootstrap fileinput
Nov 25 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
Mar 21 Javascript
js异步编程小技巧详解
Aug 14 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
Nov 02 Javascript
学习RxJS之JavaScript框架Cycle.js
Jun 17 Javascript
ES10的13个新特性示例(小结)
Sep 23 Javascript
React实现评论的添加和删除
Oct 20 Javascript
关于对TypeScript泛型参数的默认值理解
Jul 15 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 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
Chrome Web App开发小结
2014/09/04 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
Python3基础之list列表实例解析
2014/08/13 Python
python解析xml文件操作实例
2014/10/05 Python
python中argparse模块用法实例详解
2015/06/03 Python
Python使用turtule画五角星的方法
2015/07/09 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
2014年三万活动总结
2014/04/26 职场文书
副处级干部考察材料
2014/05/17 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
卡特教练观后感
2015/06/08 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL