弹出层带遮罩显示在屏幕正中间

最近项目中用到了遮罩层,在这里总结下以备下次使用。

首先,遮罩应全屏,同时需要兼容多种浏览器,需要设置div的样式为: 

复制代码
1 position:absolute;
2 top:0%; /**遮罩全屏top,left都为0,width,height为100%**/
3 left:0%;
4 width:100%;
5 height:100%;
6 filter:alpha(opacity=50);
7 opacity: 0.5;
8 -moz-opacity:0.5;
9 -khtml-opacity: 0.5;
10 background-color:black;
11 z-index: 1001;
12 display:none;
复制代码
然后,设置弹出层显示在屏幕正中间:

复制代码
1 //让指定的DIV始终显示在屏幕正中间
2 function funShowDivCenter(div) {
3 var top = ($(window).height() - $(div).height()) / 2;
4 var left = ($(window).width() - $(div).width()) / 2;
5 var scrollTop = $(document).scrollTop();
6 var scrollLeft = $(document).scrollLeft();
7 $(div).css({ position: ‘absolute‘, ‘top‘: top + scrollTop, left: left + scrollLeft }).show();
8 }
复制代码
最后,应注意在弹出层中不能设置元素的padding值,否则将不会显示在屏幕正中间。

时间: 2024-10-25 17:36:31

弹出层带遮罩显示在屏幕正中间的相关文章

JQuery 弹出层,始终显示在屏幕正中间

1.让层始终显示在屏幕正中间: 样式代码: Html代码   .model{ position: absolute; z-index: 1003; width:320px; height:320px; text-align:center; background-color:#0066FF; display: none; } jQuery代码: Js代码   //让指定的DIV始终显示在屏幕正中间 function letDivCenter(divName){ var top = ($(windo

jquery制作弹出层带遮罩效果,点击阴影部分层消失

jquery制作弹出层带遮罩效果,点击阴影部分层消失. 整体还是比较简单的. HTML代码很简单 1 <a href="#" class="big-link" data-reveal-id="myModal" data-animation="fade">jquery点我弹出</a> 2 <div id="myModal" class="reveal-modal&quo

自定义弹出层居中并显示遮罩

1.自己先定义两个div,一个是用来放弹出层内容的,一个是用于设置遮罩层颜色的,一个触发显示弹出层的按钮 2.给两个div分别设置css样式,遮罩的样式主要有:position:fixed;z-index:2;background-color:#000;opacity:0.7;top:0;left:0;width:100%;height:100%;display:none; 显示弹出层内容的主要有:postion:fixed;display:none;top:50%;left:50%;z-ind

【转载】jQuery弹出层始终垂直居中于当前屏幕

一般网站上肯定有一些弹出框,不论弹出框的大小,都需要他在当前窗口垂直居中.之前手上就有一个jQuery的例子,后来才发现,他只能在第一屏垂直居中,如果滑动滚动条,弹出的框就在上方,不是很方便.请教朋友后稍作修改,成了现在的例子. 代码分析 注释已经写得很清楚了,看得懂jQuery的应该都看得懂 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 function popup(popupName){     var _scrollHeight = $(docu

实现弹出层,遮罩层

开发中经常会用到弹出遮罩层的时候,下面是一个简单的遮罩层弹窗 <style type="text/css"> <!-- body,td,th { font-size: 12px; padding:0; margin:0; } .tanchuang{ width:100px; height:100px;position:absolute;left: 0px;top: 0px;z-index:100; display:none;} .box{width:600px;z-i

移动端弹出层加遮罩后禁止滑动

//实现滚动条无法滚动 var mo=function(e){e.preventDefault();}; /***禁止滑动***/ function stop(){ document.body.style.overflow='hidden'; document.addEventListener("touchmove",mo,false);//禁止页面滑动 } /***取消滑动限制***/ function move(){ document.body.style.overflow='';

简单的弹出层加遮罩层效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" c

遮罩层、弹出层

1.实现原理 * 实际上弹出层.遮罩层和原页面显示分别为三个不同的div * 弹出层的层级在遮罩层之上,遮罩层的层级在原页面显示之上: * 遮罩层有通明效果 * 遮罩层没有实际意义,则无需在html部分就写上,当然写上同样可以实现 2.代码实现 html语言如下: <body>     <center>         <div ><input type="button" value="go" onclick="s

移动端当弹出层显示,阻止body的滑动

很多时候前端在做移动端有弹出层的时候,滑动屏幕,body还是可以滑动,这些时候就要阻止,话不多说,直接看代码 首先定义一个变量,我这边定义的是stop=1,当弹出层显示,stop=0,然后监听touchmove事件,阻止冒泡和默认行为,这样效果就达到了. document.addEventListener("touchmove", function (e) { if (stop == 0) { e.preventDefault(); e.stopPropagation(); } },