纯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的链式调用之each函数
Dec 03 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
Jan 11 Javascript
JQuery判断子iframe何时加载完成解决方案
Aug 20 Javascript
javascript列表框操作函数集合汇总
Nov 28 Javascript
在JavaScript中正确引用bind方法的应用
May 11 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
Jan 28 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
Feb 22 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
Jun 17 Javascript
JS库之Three.js 简易入门教程(详解之一)
Sep 13 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 Javascript
js中实现继承的五种方法
Jan 25 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 遍历XP文件夹下所有文件
2008/11/27 PHP
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
一个基于PDO的数据库操作类
2011/03/24 PHP
php计算title标题相似比的方法
2015/07/29 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
Django JWT Token RestfulAPI用户认证详解
2019/01/23 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
解决python replace函数替换无效问题
2020/01/18 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
python 实现性别识别
2020/11/21 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
通息工程毕业生自荐信
2013/10/16 职场文书
护士自我鉴定总结
2014/03/24 职场文书
诚信考试标语
2014/06/24 职场文书
小学副班长竞选稿
2015/11/21 职场文书
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS