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 相关文章推荐
[原创]来自ImageSee官方 JavaScript图片浏览器
Jan 16 Javascript
不使用浏览器运行javascript代码的方法
Jul 24 Javascript
从js向Action传中文参数出现乱码问题的解决方法
Dec 29 Javascript
js实现iframe自动自适应高度的方法
Feb 17 Javascript
js实现n秒倒计时后才可以点击的效果
Dec 20 Javascript
js 实现复选框只能选择一项的示例代码
Jan 23 Javascript
解决bootstrap-select 动态加载数据不显示的问题
Aug 10 Javascript
node中的密码安全(加密)
Sep 17 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
vue2.0自定义指令示例代码详解
Apr 25 Javascript
layui递归实现动态左侧菜单
Jul 26 Javascript
JavaScript数组类型Array相关的属性与方法详解
Sep 08 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
使用python实现个性化词云的方法
2017/06/16 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
python numpy 按行归一化的实例
2019/01/21 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
详解Django配置优化方法
2019/11/18 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
爱牙日活动总结
2014/08/29 职场文书
房产协议书范本
2014/10/18 职场文书
幼师大班个人总结
2015/02/13 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技
windows系统安装配置nginx环境
2022/06/28 Servers