纯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 相关文章推荐
层序遍历在ExtJs的TreePanel中的应用
Oct 16 Javascript
Jquery从头学起第四讲 jquery入门教程
Aug 01 Javascript
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
javascript实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
让元素在网页中可拖动示例代码
Aug 13 Javascript
js在IE与firefox的差异集锦
Nov 11 Javascript
AngularJS应用开发思维之依赖注入3
Aug 19 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
Oct 27 Javascript
五步轻松实现JavaScript HTML时钟效果
Mar 25 Javascript
JS脚本实现网页自动秒杀点击
Jan 11 Javascript
js判断密码强度的方法
Mar 18 Javascript
JavaScript JSON使用原理及注意事项
Jul 30 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 过滤页面中的BOM(实现代码)
2013/06/29 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
Angularjs自定义指令Directive详解
2017/05/27 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Python导入oracle数据的方法
2015/07/10 Python
Python端口扫描简单程序
2016/11/10 Python
python之Character string(实例讲解)
2017/09/25 Python
python实现Floyd算法
2018/01/03 Python
python实现排序算法解析
2018/09/08 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
建设工程授权委托书
2014/09/22 职场文书
初中家长评语和期望
2014/12/26 职场文书
催款律师函范文
2015/05/27 职场文书
鸡毛信观后感
2015/06/11 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS