JavaScript实现页面遮盖层(带动画效果)

在诸多网页设计中,我们常会用到弹出窗口,这是一个带动画效果的弹出窗口:
<!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" /> <title></title> <STYLE> #login{ position: relative; display: none; top: 20px; left: 30px; background-color: #ffffff; text-align: center; border: solid 1px; padding: 10px; z-index: 1; } </STYLE> <mce:script type="text/javascript"><!-- var W = screen.width;//取得屏幕分辨率宽度 var H = screen.height;//取得屏幕分辨率高度 function M(id){ return document.getElementByIdx(id);//用M()方法代替document.getElementByIdx(id) } function MC(t){ return document.createElement(t);//用MC()方法代替document.createElement(t) }; //判断浏览器是否为IE function isIE(){ return (document.all && window.ActiveXObject && !window.opera) ? true : false; } //取得页面的高宽 function getBodySize(){ var bodySize = []; with(document.documentElement) { bodySize[0] = (scrollWidth>clientWidth)?scrollWidth:clientWidth;//如果滚动条的宽度大于页面的宽度,取得滚动条的宽度,否则取页面宽度 bodySize[1] = (scrollHeight>clientHeight)?scrollHeight:clientHeight;//如果滚动条的高度大于页面的高度,取得滚动条的高度,否则取高度 } return bodySize; } //创建遮盖层 function popCoverDiv(){ if (M("cover_div")) { //如果存在遮盖层,则让其显示 M("cover_div").style.display = 'block'; } else { //否则创建遮盖层 var coverDiv = MC('div'); document.body.appendChild(coverDiv); coverDiv.id = 'cover_div'; with(coverDiv.style) { position = 'absolute'; background = '#CCCCCC'; left = '0px'; top = '0px'; var bodySize = getBodySize(); width = bodySize[0] + 'px' height = bodySize[1] + 'px'; zIndex = 0; if (isIE()) { filter = "Alpha(Opacity=60)";//IE逆境 } else { opacity = 0.6; } } } } //让登陆层显示为块 function showLogin() { var login=M("login"); login.style.display = "block"; } //设置DIV层的样式 function change(){ var login = M("login"); login.style.position = "absolute"; login.style.border = "1px solid #CCCCCC"; login.style.background ="#F6F6F6"; var i=0; var bodySize = getBodySize(); login.style.left = (bodySize[0]-i*i*4)/2+"px"; login.style.top = (bodySize[1]/2-100-i*i)+"px"; login.style.width = i*i*4 + "px"; login.style.height = i*i*1.5 + "px"; popChange(i); } //让DIV层大小循环增大 function popChange(i){ var login = M("login"); var bodySize = getBodySize(); login.style.left = (bodySize[0]-i*i*4)/2+"px"; login.style.top = (bodySize[1]/2-100-i*i)+"px"; login.style.width = i*i*4 + "px"; login.style.height = i*i*1.5+ "px"; if(i<=10){ i++; setTimeout("popChange("+i+")",10);//设置超时10毫秒 } } //打开DIV层 function open() { change(); showLogin(); popCoverDiv() void(0);//不进行任何操作,如:<a href="#" mce_href="#">aaa</a> } //关闭DIV层 function close(){ M('login').style.display = 'none'; M("cover_div").style.display = 'none'; void(0); } // --></mce:script> </head> <body> <a href="javascript:open();" mce_href="javascript:open();">登陆</a> <div id="login"> <span>用户登陆</span> <div id="panel"> <lable>用户名: </lable><input type="text" size="20" /> <lable>密码: </lable><input type="password" size="20"> <input type="checkbox" /><lable>登陆</lable> </div> <input type="button" value="提交" /> <a href="javascript:close();" mce_href="javascript:close();">关闭</a> </div> </body> </html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值