纯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 学习笔记 选择器之四
Jul 23 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
Feb 04 Javascript
JS实现判断碰撞的方法
Feb 11 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
jQuery如何使用自动触发事件trigger
Nov 29 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
Dec 24 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
May 10 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
Jun 08 Javascript
浅谈JQ中mouseover和mouseenter的区别
Sep 13 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
Nov 27 Javascript
基于axios 的responseType类型的设置方法
Oct 29 Javascript
vue-video-player视频播放器使用配置详解
Oct 23 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
php getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
vue源码入口文件分析(推荐)
2018/01/30 Javascript
python统计文本文件内单词数量的方法
2015/05/30 Python
浅谈Python单向链表的实现
2015/12/24 Python
深入理解Python中的super()方法
2017/11/20 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
详解Python中的测试工具
2019/06/09 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
美国牛仔品牌:True Religion
2018/11/16 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
ORACLE十问
2015/04/20 面试题
力学专业毕业生自荐信
2013/11/17 职场文书
实习单位推荐信范文
2013/11/27 职场文书
中学生获奖感言
2014/02/04 职场文书
财务总经理岗位职责
2014/02/16 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
化妆品促销活动总结
2015/05/07 职场文书
处罚决定书范文
2015/06/24 职场文书
高三物理教学反思
2016/02/20 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书