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知识点一 Jquery的ready和Dom的onload的区别
Jan 15 Javascript
JS实现的省份级联实例代码
Jun 24 Javascript
Jquery倒数计时按钮setTimeout的实例代码
Jul 04 Javascript
jquery对象和DOM对象的任意相互转换
Feb 21 Javascript
AngularJS入门教程之ng-checked 指令详解
Aug 01 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
Aug 24 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 Javascript
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
解决vue+element 键盘回车事件导致页面刷新的问题
Aug 25 Javascript
vue动态配置模板 'component is'代码
Jul 04 Javascript
React自定义hook的方法
Jun 25 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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
如何实现php图片等比例缩放
2015/07/28 PHP
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
jQuery 常见学习网站与参考书
2009/11/09 Javascript
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
vue如何判断dom的class
2018/04/26 Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
2018/09/16 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
windows下Virtualenvwrapper安装教程
2017/12/13 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
Python列表解析操作实例总结
2020/02/26 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
毕业晚会主持词
2014/03/24 职场文书
旅游节目策划方案
2014/05/26 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
职称评定个人总结
2015/03/05 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
运动会5000米加油稿
2015/07/21 职场文书