javascript实现一个简单的弹出窗


Posted in Javascript onFebruary 22, 2016

功能介绍:点击一个按钮,然后页面会弹出一个窗口,而页面原来的内容会保持不变,只是在其页面上加了一个遮罩层,设置了不透明度,弹出的窗口可设置在固定位置,也可以自由设定,常见于网站的登录按钮。

html页面:

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js实现一个弹出框</title>
<style type="text/css">
/*预先写好弹出窗的样式*/
#menu{height: 900px;}
#close{ 
  width:30px; 
  height:30px; 
  cursor:pointer; 
  position:absolute; 
  right:5px; 
  top:5px; 
  text-indent:-999em;
  background-color:blue;
  }
#mask{ 
  background-color:pink;
  opacity:0.5;
  filter: alpha(opacity=50); 
  position:absolute; 
  left:0;
  top:0;
  z-index:1;
  }
#login{ 
  position:fixed;
  z-index:2;
  }
.loginCon{ 
  position:relative; 
  width:670px;
  height:380px;
  /*background:url(img/loginBg.png) #2A2C2E center center no-repeat;*/
  background-color: #ccc;
  }
</style>

</head>
<body>
<div id="menu">
  <div id="login-area">
   <button id="btnLogin">登录</button>
  </div>
</div>
</body>
</html>

js代码:

<script>
function openNew(){
  //获取页面的高度和宽度
  var sWidth=document.body.scrollWidth;
  var sHeight=document.body.scrollHeight;
  
  //获取页面的可视区域高度和宽度
  var wHeight=document.documentElement.clientHeight;
  
  var oMask=document.createElement("div");
    oMask.id="mask";
    oMask.style.height=sHeight+"px";
    oMask.style.width=sWidth+"px";
    document.body.appendChild(oMask);
  var oLogin=document.createElement("div");
    oLogin.id="login";
    oLogin.innerHTML="<div class='loginCon'><div id='close'>关闭</div></div>";
    document.body.appendChild(oLogin);
  
  //获取登陆框的宽和高
  var dHeight=oLogin.offsetHeight;
  var dWidth=oLogin.offsetWidth;
    //设置登陆框的left和top
    oLogin.style.left=sWidth/2-dWidth/2+"px";
    oLogin.style.top=wHeight/2-dHeight/2+"px";
  //点击关闭按钮
  var oClose=document.getElementById("close");
  
    //点击登陆框以外的区域也可以关闭登陆框
    oClose.onclick=oMask.onclick=function(){
          document.body.removeChild(oLogin);
          document.body.removeChild(oMask);
          };
          };
          
  window.onload=function(){
      var oBtn=document.getElementById("btnLogin");
        //点击登录按钮
        oBtn.onclick=function(){
          openNew();
          return false;
          }
        
    }
</script>
Javascript 相关文章推荐
JS常见问题整理(持续更新)
Aug 06 Javascript
javascript删除数组元素并且数组长度减小的简单实例
Feb 14 Javascript
node.js超时timeout详解
Nov 26 Javascript
整理Javascript函数学习笔记
Dec 01 Javascript
AngularJs页面筛选标签小功能
Aug 01 Javascript
JS获取和修改元素样式的实例代码
Aug 06 Javascript
HTML5 canvas 9绘制图片实例详解
Sep 06 Javascript
Vue3.0结合bootstrap创建多页面应用
May 28 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
Feb 07 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 Javascript
基于js实现数组相邻元素上移下移
May 19 Javascript
Js的Array数组对象详解
Feb 22 #Javascript
AngularJS中使用HTML5手机摄像头拍照
Feb 22 #Javascript
JS字符串的切分用法实例
Feb 22 #Javascript
JS实现上下左右对称的九九乘法表
Feb 22 #Javascript
基于Javascript实现倒计时功能
Feb 22 #Javascript
TypeOf这些知识点你了解吗
Feb 21 #Javascript
详谈javascript异步编程
Feb 21 #Javascript
You might like
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
python网络编程之文件下载实例分析
2015/05/20 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
解决Python中回文数和质数的问题
2019/11/24 Python
Jupyter notebook无法导入第三方模块的解决方式
2020/04/15 Python
python实现学生管理系统开发
2020/07/24 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
美国网上花店:JustFlowers
2017/02/12 全球购物
编辑硕士自荐信范文
2013/11/27 职场文书
秋游活动策划方案
2014/02/16 职场文书
浪漫婚礼主持词
2014/03/14 职场文书
可口可乐广告词
2014/03/20 职场文书
高中语文课后反思
2014/04/27 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
土建技术员岗位职责
2015/04/11 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
辛亥革命观后感
2015/06/02 职场文书
Python实现视频中添加音频工具详解
2021/12/06 Python