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 相关文章推荐
借助script进行Http跨域请求:JSONP实现原理及代码
Mar 19 Javascript
js添加绑定事件的方法
May 15 Javascript
全面解析多种Bootstrap图片轮播效果
May 27 Javascript
Vue利用History记录上一页面的数据方法实例
Nov 02 Javascript
解决node-sass偶尔安装失败的方法小结
Dec 05 Javascript
浅谈js闭包理解
Apr 01 Javascript
模块化react-router配置方法详解
Jun 03 Javascript
微信小程序实现录音功能
Nov 22 Javascript
Java Varargs 可变参数用法详解
Jan 28 Javascript
react 不用插件实现数字滚动的效果示例
Apr 14 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
Jun 11 Javascript
详解javascript void(0)
Jul 13 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
合作指挥官:孟斯克
2020/03/16 星际争霸
php adodb介绍
2009/03/19 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
PHP7正式版测试,性能惊艳!
2015/12/08 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
浅谈javascript如何获取文件后缀名
2020/08/07 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
Python反射用法实例简析
2017/12/22 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
Python 如何创建一个线程池
2020/07/28 Python
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
架构师岗位职责
2013/11/18 职场文书
学校后勤人员职责
2013/12/27 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
供货协议书
2014/04/22 职场文书
美国留学经济担保书
2014/05/20 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
用Python实现屏幕截图详解
2022/01/22 Python
python实现会员管理系统
2022/03/18 Python