纯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 相关文章推荐
用JavaScript实现单继承和多继承的简单方法
Mar 29 Javascript
javascript 变量作用域 代码分析
Jun 26 Javascript
3种不同方式的焦点图轮播特效分享
Oct 30 Javascript
Javascript中的apply()方法浅析
Mar 15 Javascript
推荐10 个很棒的 jQuery 特效代码
Oct 04 Javascript
jQuery遮罩层效果实例分析
Jan 14 Javascript
基于JS实现textarea中获取动态剩余字数的方法
May 25 Javascript
javascript鼠标滑过显示二级菜单特效
Nov 18 Javascript
webpack独立打包和缓存处理详解
Apr 03 Javascript
vue按需加载实例详解
Sep 06 Javascript
layui文件上传控件带更改后数据传值的方法
Sep 23 Javascript
微信小程序文章详情功能完整实例
Jun 03 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
php注销代码(session注销)
2012/05/31 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
php学习笔记之基础知识
2014/11/08 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
学习ExtJS Column布局
2009/10/08 Javascript
js setattribute批量设置css样式
2009/11/26 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
Python面向对象class类属性及子类用法分析
2018/02/02 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
实习自我鉴定模板
2013/09/28 职场文书
技术总监的工作职责
2013/11/13 职场文书
职工运动会邀请函
2014/01/19 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
英文求职信范文
2014/05/23 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
实习指导教师评语
2014/12/30 职场文书
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers