这是很实用的图层弹出特效,当用户鼠标点击按钮后弹出的图层居中显示,整个页面半透明变灰显示效果。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=gb2312"> <meta name="keywords" content="武鸣人网站,武鸣信息网,武鸣本地网,武鸣信息资源平台,减肥,健身,励志,励志语录,js特效,网页特效,www.wuming.ren"> <meta name="description" content="欢迎来到武鸣人信息资源平台,各种信息免费发布,资源共享合作共赢,分享互联网流行的励志语录经典短句,减肥健身健康小常识及打卡记录,收集各种js特效代码。"> <title>分享三款弹出图层后页面变灰效果_武鸣人</title> <style type="text/css"> body,p{margin:0;padding:0;} p{padding:10px;} </style> <script type="text/javascript"> var openWin = { $:function(obj,tag){//这个地球人都知道 if(typeof obj=='string'){var obj=document.getElementById(obj);if(!obj)return} if(tag){return obj.getElementsByTagName(tag)} else{return obj} }, www_wuming_ren:function(obj){//用于处理获取初始化对象的。www_wuming_ren没啥意思,随手写的。 this.obj=obj;//指定显示对象 this.wuming_ren_close(1);//显示:遮罩 + select + 页面滚动条 + 显示对象 }, wuming_ren_close:function(o){//o不为空的话,就是开启(一大串...)。这个“o”如果为空,则关闭(还是一大串...)。实际上是用来区别“openWin.www_wuming_ren”与“openWin.wuming_ren_close”的,因为用“www_wuming_ren”初始化时也要调用“wuming_ren_close”。 if(!o){var o=0;} this.bodyBg(o);//显示隐藏遮罩 this.center(o);//显示隐藏主内容 this.hs(o);//显示隐藏select this.hb(o);//显示隐藏页面滚动条 }, hb:function(o){//第一串:显示隐藏滚动条 if(document.documentElement){document.documentElement.style.overflow=(o==1)?"hidden":"";} else{document.body.style.overflow=(o==1)?"hidden":"";} }, hs:function(o){//第二串:显示隐藏下拉菜单(select) var s=document.getElementsByTagName("select");//找出页面内所有select if(s[0]=="undefined"){return}//如果不存在则返回(也就是不往下走了,掉头继续玩第三串去。) for(var i=0;i<s.length;i++){ if(o==1){s[i].style.visibility="hidden";} else{s[i].style.visibility="";} } }, bodyBg:function(o){//第三串:创建|显示隐藏透明遮罩 if(o==0){document.getElementsByTagName("body")[0].removeChild(this.$("body_pr"));} else{ document.getElementsByTagName("body")[0].style.height="100%"; var style={position:"absolute",left:"0",top:"0",zIndex:"9999",width:"100%",height:"999em",backgroundColor:"#000",filter:"alpha(opacity=50)",opacity:"0.5"}//预置样式用于生成遮罩对象 this.cDiv("body_pr","div",style,document.getElementsByTagName("body")[0]);//5、4、3、2、1 创建! } }, center:function(o){//第四串:创建|删除 主要内容/正文 if(o==0){document.getElementsByTagName("body")[0].removeChild(this.$("center_pr"));} else{ var style={position:"absolute",left:"50%",top:"50%",zIndex:"10000"}//预置样式用于生成 [主要内容] 的父容器对象 this.cDiv("center_pr","div",style,document.getElementsByTagName("body")[0]);//5、4、3、2、1 创建! if(typeof this.obj=='string'){var obj=this.obj;this.$("center_pr").innerHTML=obj;}//如果 [主要内容] 的对象类型为string(字符串),则直接输出到父容器内。 else{var obj=this.obj.cloneNode(true);this.$("center_pr").appendChild(obj);}//否则就用插入的方式搞进去吧。呃,前提是记得先copy [主要内容] 生成一个新的,不然下面的操作都会影响到源内容哦。 openWin.$("center_pr").style.marginTop=-(openWin.$("center_pr").scrollHeight/2)+((window.pageYOffset)?window.pageYOffset:document.documentElement.scrollTop)+"px";//绝对居中的方法都熟悉吧,这里是得到一个marginTop值,那么就得用“网页卷去的高”加上自身高度的一半。 openWin.$("center_pr").style.marginLeft=-(openWin.$("center_pr").scrollWidth/2)+"px";//宽度。。。懒得写了,一般没人卷这东西。 if(this.$("center_pr").getElementsByTagName("img")[0]){//然后如果内容有图片,则图片预加载后再计算对象高宽。不然自身的高度就不对了(有时候图片把容器撑开了,但是我们在图片没下载完毕之前就获取了当时的容器高度。。。) var objimg=this.$("center_pr").getElementsByTagName("img"); objimg[objimg.length-1].onload=function(){ openWin.$("center_pr").style.marginTop=-(openWin.$("center_pr").scrollHeight/2)+((window.pageYOffset)?window.pageYOffset:document.documentElement.scrollTop)+"px"; openWin.$("center_pr").style.marginLeft=-(openWin.$("center_pr").scrollWidth/2)+"px"; } } } }, cDiv:function(id,tag,style,fid){//创建HTML标签方法 var div=document.createElement(tag);//创建标签对象 div.id=id;//赋予对象ID for(var i in style){div.style[i]=style[i];}//批量插入style属性与属性值 fid.appendChild(div);//插入标签对象到指定对象内 } }//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀) </script> </head> <body> <a href="https://www.wuming.ren">武鸣人</a>,各种信息资源免费发布,分享励志语录经典短句,减肥健身常识,各种js特效代码。网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)<hr> <!--欢迎来到武鸣人信息资源平台,各种信息免费发布,资源共享合作共赢,分享互联网流行的励志语录经典短句,减肥健身健康小常识及打卡记录,收集各种js特效代码。--> <script type="text/javascript" src="https://www.wuming.ren/ad/tc.js"></script> <script type="text/javascript" src="https://www.wuming.ren/ad/a.js"></script> <p><img src="https://www.wuming.ren/img/20240307_www_wuming_ren_59w_big.jpg" width="60px" height="60px" alt="点击放大" /></p> <p><button type="button" onclick="openWin.www_wuming_ren('<img src=https://www.wuming.ren/img/20240307_www_wuming_ren_59w_big.jpg onclick=openWin.wuming_ren_close() alt=点击关闭 />');">查看大图</button></p> <hr /> <p><button onclick="openWin.www_wuming_ren(openWin.$('wuming_ren'))" type="button">打开新窗口</button></p> <div id="wuming_ren" style="padding:10px;border:solid 1px #ccc;background:#fff;"> <p onclick=openWin.wuming_ren_close()>新窗口<br /></p> </div> <p><button type="button" onclick="openWin.www_wuming_ren('<img src=/img/20240408_www_wuming_ren_21.gif alt=上传中... /><p style=text-align:center;padding-top:10px;><span onclick=openWin.wuming_ren_close() style=padding:5px;padding-left:8px;padding-right:8px;padding-bottom:2px;border-style:solid;border-width:1px;border-color:#999;border-top-color:#666;border-left-color:#666;color:#ccc;background:#777;cursor:pointer;font-size:12px;>取消上传</span></p>')">loading</button></p> </body> </html>
本文来自武鸣人网站,转载请注明出处