纯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 AspxButton的客户端操作
Jun 26 Javascript
商城常用滚动的焦点图效果代码简单实用
Mar 28 Javascript
Jquery Post处理后不进入回调的原因及解决方法
Jul 15 Javascript
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
jquery判断input值不为空的方法
Jun 05 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
Nov 07 Javascript
Vue.js第四天学习笔记
Dec 02 Javascript
原生js实现秒表计时器功能
Feb 16 Javascript
详解js静态资源文件请求的处理
Aug 01 Javascript
详解vue 路由跳转四种方式 (带参数)
Apr 28 Javascript
jquery实现吸顶导航效果
Jan 08 jQuery
正则表达式基础与常用验证表达式
Jun 16 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
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
PHP写的资源下载防盗链类分享
2014/05/12 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
CSS和Javascript简单复习资料
2010/06/29 Javascript
载入jQuery库的最佳方法详细说明及实现代码
2012/12/28 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
python和bash统计CPU利用率的方法
2015/07/10 Python
python单例模式实例解析
2018/08/28 Python
Python基于百度云文字识别API
2018/12/13 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
python中with用法讲解
2020/02/07 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
求职信的最佳写作思路
2014/02/01 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
售后客服个人自我评价
2014/09/14 职场文书
地陪导游欢迎词
2015/01/26 职场文书
二年级数学教学反思
2016/02/16 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
MySQL之DML语言
2021/04/05 MySQL
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android