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


Posted in Javascript onMarch 25, 2016

本文实例讲述了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 相关文章推荐
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 Javascript
jQuery实现文本框输入同步的方法
Jun 20 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
Sep 06 Javascript
基于jquery实现无限级树形菜单
Mar 22 Javascript
JavaScript使用ZeroClipboard操作剪切板
May 10 Javascript
template.js前端模板引擎使用详解
Oct 10 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
Sep 26 Javascript
详解ES6 系列之异步处理实战
Oct 26 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
Aug 26 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
Sep 05 Javascript
JavaScript获取某一天所在的星期
Sep 05 Javascript
vue和小程序项目中使用iconfont的方法
May 19 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
Mar 25 #Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
Mar 25 #Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
Mar 25 #Javascript
详解Javascript继承的实现
Mar 25 #Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
Mar 25 #Javascript
JavaScript修改作用域外变量的方法
Mar 25 #Javascript
JavaScript 2048 游戏实例代码(简单易懂)
Mar 25 #Javascript
You might like
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
基于Zend的Captcha机制的应用
2013/05/02 PHP
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
javascript实现连续赋值
2015/08/10 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
javascript中FOREACH数组方法使用示例
2016/03/01 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
express启用https使用小记
2019/05/21 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
Python实现的计数排序算法示例
2017/11/29 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
Yahoo-PHP面试题4
2012/05/05 面试题
大学竞选班干部演讲稿
2014/08/21 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
小平您好观后感
2015/06/09 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
导游词之昭君岛
2020/01/17 职场文书