这篇文章主要介绍了纯js实现遮罩层效果,下面就它的原理做下分析,感兴趣的朋友可以参考下
可以说这个功能,在我理解了前面的“贪吃蛇”之后,实在是与刚开始想象的难度差了好多,当然是这种方式有取巧之嫌,终归是实现了功能,我们来进行分析整理

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()这些都是在之前出现过,应用过的了,这样我们就能实现了,其实当原理明白了的那一刻,一切也就容易多了吧。

路漫漫而修远兮啊
最新资讯
把半条命交出去,京东战投启动Plan B

把半条命交出去,京东战

如果说全资控股五星电器是京东战投的Plan A;那么把半条
暴饮暴食、假吃真吐……不要让“吃播文化”走向极端

暴饮暴食、假吃真吐…

近年来,伴随着直播热兴起,“吃播”开始风靡网络。所谓“
特斯拉在华成立保险经纪公司 注册资本5000万元

特斯拉在华成立保险经

8月12日,据国家企业信用信息公示系统显示,特斯拉在8月6
小米十周年,雷军打了一张情怀牌

小米十周年,雷军打了一

雷军的情怀,几乎是出现在他事业中每一个重要的节点,并且
SA:2020年Q2全球智能音箱销量增长至3000万台

SA:2020年Q2全球智能音

Strategy Analytics预测,在新冠疫情的影响下,2020年Q2全
世界的本质是立方体?

世界的本质是立方体?

研究人员用数学、地质学和物理学,证明了地球上自然的三
最新文章
Vue实现图片与文字混输效果

Vue实现图片与文字混

用多了 JQuery ,习惯了使用JQuery的API操作 DOM ,几乎忘
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)

Vue实现点击当前元素

这篇文章主要介绍了Vue实现点击当前元素以外的地方隐
Vue实现验证码功能

Vue实现验证码功能

这篇文章主要为大家详细介绍了Vue实现验证码功能,文中
JS实现的雪花飘落特效示例

JS实现的雪花飘落特效

这篇文章主要介绍了JS实现的雪花飘落特效,结合实例形
微信小程序实现图片压缩

微信小程序实现图片压

这篇文章主要为大家详细介绍了微信小程序实现图片压缩
JavaScript实现京东放大镜效果

JavaScript实现京东放

这篇文章主要为大家详细介绍了JavaScript实现京东放大