JS实现点击登录弹出窗口同时背景色渐变动画效果

前端技术 2023/09/02 JavaScript

本文实例讲述了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();\" class=\"STYLE1\">登陆</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相关内容感兴趣的读者可查看本站专题:《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

本文地址:https://www.stayed.cn/item/3834

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。