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 相关文章推荐
jQuery中的$.ajax()方法应用
May 06 Javascript
js实现点击文本框显示日期选择器特效代码分享
May 21 Javascript
Javascript获取图片原始宽度和高度的方法详解
Sep 20 Javascript
详解自动生成博客目录案例
Dec 09 Javascript
JS正则表达式之非捕获分组用法实例分析
Dec 28 Javascript
js验证手机号、密码、短信验证码代码工具类
Jun 24 Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 Javascript
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
从parcel.js打包出错到选择nvm的全部过程
Jan 23 Javascript
vue实现前进刷新后退不刷新效果
Jan 26 Javascript
在Vue中使用Compass的方法
Mar 02 Javascript
详解Vue.js 响应接口
Jul 04 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
mysql5详细安装教程
2007/01/15 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
Vue表单实例代码
2016/09/05 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
layui.js实现的表单验证功能示例
2017/11/15 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
深入理解Django中内置的用户认证
2017/10/06 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
《最大的麦穗》教学反思
2014/04/17 职场文书
社区工作者演讲稿
2014/05/23 职场文书
七一讲话心得体会
2014/09/05 职场文书
2014年关工委工作总结
2014/11/17 职场文书
行政文员岗位职责
2015/02/04 职场文书