JS实现的添加弹出层并完成锁屏操作示例

本文实例讲述了JS实现的添加弹出层并完成锁屏操作。分享给大家供大家参考,具体如下:

上图:

代码:

<html>
<head>
 <title>弹出层</title>
 <style type="text/css">
  *{
   padding:0px;
   margin:0px;
  }
  .up{
   width:500px;
   height: 400px;
   border:1px solid silver;
   position: absolute;
   display: none;
   z-index: 9999;
   background:#fff;
/*   top:50%;
   left: 50%;*/
/*   margin-left: -250px;
   margin-top: -200px;*/
  }
  .up h2{
   background-color: #f2f2f2;
   text-align: center;
  }
  .con span{
   width:20px;
   height:30px;
   text-align: center;
   line-height: 30px;
   background-color:red;
   cursor: pointer;
  }
  .mask{
   width:3000px;
   height: 3000px;
   background:#000;
   opacity: 0.3;
   position: absolute;
   top:0;
   left: 0;
   z-index: 9998;
   display:none;
  }
 </style>
</head>
<body>
 <div class="con">
  <span id="open">打开弹出层</span>
 </div>
 <div class="up" id="up">
   <h2>弹出层效果</h2>
   <span id="close">关闭</span>
 </div>
 <img src="a.jpg">
</body>
<script type="text/javascript">
//两种方式实现div居中:1:用css方式:top:50%,left:50%; margin-let:-divwidth/2 margin-top:divheight/2; 2:用js实现:获取窗口的高宽,top=(屏幕高-div高)/2,为了随时的监听浏览器的改变,需要用到浏览器事件
 window.onload=function(){
  function $(id){
   return document.getElementById(id);
  }
  //将div的位置封装在一个函数内部,直接调用
  function myDiv(){
   var mTop=(document.documentElement.clientHeight-500)/2;
   var mleft=(document.documentElement.clientWidth-400)/2;
   $("up").style.top=mTop+"px";
   $("up").style.left=mleft+"px";
  }
   myDiv();
   $("open").onclick=function(){
    $("up").style.display="block";
    mask.style.display="block";
   }
   $("close").onclick=function(){
    $("up").style.display="none";
    mask.style.display="none"
   }
   //创建一个DIV
   var mask=document.createElement("div");
   // //给这个DIV一个id和class属性
   // mask.id="mask";
   mask.className="mask";
   mask.style.width=document.documentElement.clientWidth;
   mask.style.height=document.documentElement.clientHeight;
   //将这个DIV放置到body里面--》一般是:父节点.appendChild(子节点)
   //这里注意的是absolute,要设置top和left;
   document.body.appendChild(mask);
  //屏幕改变大小的时候,div不会自动的改变,需要添加窗口改变事件
  window.onresize=function(){
    myDiv();
    mask.style.width=document.documentElement.clientWidth;
    mask.style.height=document.documentElement.clientHeight;
  }
 }
</script>
</html>

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

(0)

相关推荐

  • js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)

    js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动) 复制代码 代码如下: <!doctype html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> *{}{margin:0;padding:0;} html{}{_background:url(about:blank);} /**//*

  • js写一个弹出层并锁屏效果实现代码

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

  • 使用js实现关闭js弹出层的窗口

    <script type="text/javascript">function toggle() {  theObj = document.getElementById('Sunyanzi').style;  if (  theObj.display == "none" ) theObj.display = "block"; else theObj.display = "none";}</script>

  • js实现div弹出层的方法

    本文实例讲述了js实现div弹出层的方法.分享给大家供大家参考.具体分析如下: 话说现在各种插件出来了要实现弹出层真是太简单了,但个人有时觉得那些插件不实用经常会找一些纯js原生态的东西,下面来给各位分享一个原生太js div弹出层实例,有需要的朋友可一起看看. 这个不用多说了,直接贴代码吧.有码有注释: 复制代码 代码如下: /*  * 弹出DIV层 */ function showDiv() { var Idiv     = document.getElementById("Idiv&quo

  • js setTimeout实现延迟关闭弹出层

    #flyout { border: solid 2px Gray; background-color: #FFF999; width: 300px; height: 100px; display: none; } var flyoutTimer; function mouseOutEvent() { //Hide flyout after 1 second when the mouse move out of the flyout zone flyoutTimer = setTimeout(hi

  • js弹出层(jQuery插件形式附带reLoad功能)

    之前做一个项目,感觉里面的弹出层做的挺好,但是代码结构有问题,这次用到了,重构了一下,改成jQuery的插件形式,并增加了reLoad的功能,感觉还不错,代码如下: 复制代码 代码如下: (function($){ $.module={ _showCoverLayer:function(){//显示遮盖层 this.coverLayer=$("#TB_overlay"); var height=$(document).height()+"px"; var width

  • js与css实现弹出层覆盖整个页面的方法

    本文实例讲述了js与css实现弹出层覆盖整个页面的方法.分享给大家供大家参考.具体实现方法如下: 弹出层透明背景加框的常用样式和结构如下: 复制代码 代码如下: .alertMessageBg{ position:fixed; _position:absolute; width:100%; height:100%; left:0; top:0; background:#000; opacity:0.5; -moz-opacity:0.5; filter:alpha(opacity=50); z-

  • html+javascript实现可拖动可提交的弹出层对话框效果

    复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JAVASCRI

  • js 点击页面其他地方关闭弹出层(示例代码)

    复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> <!-- *{font-size:12px;font-family:Verdana, Gen

  • js弹出层永远居中实现思路及代码

    弹出层窗口永远居中 复制代码 代码如下: <script type="text/javascript"> var isIE=window.XMLHttpRequest?false:true; var aIsIE={}; window.onload=function(){ if(isIE){ window.onscroll=doIE; window.onresize=doIE; } function doIE(){ aIsIE.top=document.documentEle

  • Js Jquery创建一个弹出层可加载一个页面

    复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"

  • Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法

    这两天要用到正好练练手,比想象中碰到的问题要多,比如: ie6背景透明 ie6居中显示 还有对js对象的理解 openID=显示按钮,conID=需要显示的div,closeID=关闭按钮 解决了: 1.可以遮挡ie6下的select元素 但是在ie6下div没有透明度 2.弹出的div可以一直在浏览器屏幕中间显示 问题: 1.目前不支持.class 只支持#id 2.需要显示的div需要自己设置css 3.在ie6下需要设置css 例如div {_position: absolute;_top

  • MC Dialog js弹出层 完美兼容多浏览器(5.6更新)

    效果图:MC Dialog 功能特点 1.支持键盘操作(esc关闭,enter执行当前获得焦点按钮的事件,屏蔽了ctrl键盘,屏蔽了tab键真正实现了一个模拟浏览器自带对话框的功能) 2.支持焦点智能移动(当焦点移出层外时,自动将焦点移回层或者有按钮则移到按钮上,保证焦点始终在层上,确保快捷键操作正确) 3.智能闪烁提示功能(当焦点移出层外部,比如你在层外点击了,则层会闪烁提示你必须在当前层操作,这里完美模拟了浏览器自带对话框的操作) 4.支持按钮外接回调事件(可以自定回调事件,绑定给按钮) 5

随机推荐