本文实例讲述了JS实现点击登录弹出窗口同时背景色渐变动画效果。分享给大家供大家参考,具体如下:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <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; } body { background-color: #0099CC; } .STYLE1 {color: #FFFF00} </STYLE> <script type="text/javascript"> var W = screen.width;//取得屏幕分辨率宽度 var H = screen.height;//取得屏幕分辨率高度 function M(id){ return document.getElementById(id);//用M()方法代替document.getElementByIdx_x(id) } function MC(t){ return document.createElement(t);//用MC()方法代替document.createElement_x(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="#">aaa</a> } //关闭DIV层 function close(){ M('login').style.display = 'none'; M("cover_div").style.display = 'none'; void(0); } </script> </head> <body> <br> <br> <div align="center"><a href="javascript:open();">登陆</a></div> <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();">关闭</a> </div> </body> </html>
希望本文所述对大家JavaScript程序设计有所帮助。