javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法


Posted in Javascript onMay 13, 2015

本文实例讲述了javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法。分享给大家供大家参考。具体分析如下:

这里点击按钮后,弹出一个可关闭的层窗口,随之网页背景变灰,在QQ网站上经常会看到QQ登录的效果,就和这个很类似,代码段基于JavaScript,根据你的情况使用,有时候是用CSS完成的这种功能。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>弹出一个层,页面变灰</title>
<script language="javascript">
function alertWin(title, msg, w, h){ 
 var titleheight = "23px"; // 窗口标题高度 
 var bordercolor = "#336699"; // 提示窗口的边框颜色 
 var titlecolor = "#FFFFFF"; // 窗口标题颜色 
 var titlebgcolor = "#336699"; // 窗口标题背景色
 var bgcolor = "#FFFFFF"; // 提示内容的背景色
 var iWidth = document.documentElement.clientWidth; 
 var iHeight = document.documentElement.clientHeight; 
 var bgObj = document.createElement("div"); 
 bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;";
 document.body.appendChild(bgObj); 
 var msgObj=document.createElement("div");
 msgObj.style.cssText = "position:absolute;font:11px '宋体';top:"+(iHeight-h)/2+"px;left:"+(iWidth-w)/2+"px;width:"+w+"px;height:"+h+"px;text-align:center;border:1px solid "+bordercolor+";background-color:"+bgcolor+";padding:1px;line-height:22px;z-index:102;";
 document.body.appendChild(msgObj);
 var table = document.createElement("table");
 msgObj.appendChild(table);
 table.style.cssText = "margin:0px;border:0px;padding:0px;";
 table.cellSpacing = 0;
 var tr = table.insertRow(-1);
 var titleBar = tr.insertCell(-1);
 titleBar.style.cssText = "width:100%;height:"+titleheight+"px;text-align:left;padding:3px;margin:0px;font:bold 13px '宋体';color:"+titlecolor+";border:1px solid " + bordercolor + ";cursor:move;background-color:" + titlebgcolor;
 titleBar.style.paddingLeft = "10px";
 titleBar.innerHTML = title;
 var moveX = 0;
 var moveY = 0;
 var moveTop = 0;
 var moveLeft = 0;
 var moveable = false;
 var docMouseMoveEvent = document.onmousemove;
 var docMouseUpEvent = document.onmouseup;
 titleBar.onmousedown = function() {
  var evt = getEvent();
  moveable = true; 
  moveX = evt.clientX;
  moveY = evt.clientY;
  moveTop = parseInt(msgObj.style.top);
  moveLeft = parseInt(msgObj.style.left);  
  document.onmousemove = function() {
   if (moveable) {
    var evt = getEvent();
    var x = moveLeft + evt.clientX - moveX;
    var y = moveTop + evt.clientY - moveY;
    if ( x > 0 &&( x + w < iWidth) && y > 0 && (y + h < iHeight) ) {
     msgObj.style.left = x + "px";
     msgObj.style.top = y + "px";
    }
   } 
  };
  document.onmouseup = function () { 
   if (moveable) { 
    document.onmousemove = docMouseMoveEvent;
    document.onmouseup = docMouseUpEvent;
    moveable = false; 
    moveX = 0;
    moveY = 0;
    moveTop = 0;
    moveLeft = 0;
   } 
  };
 }
 var closeBtn = tr.insertCell(-1);
 closeBtn.style.cssText = "cursor:pointer; padding:2px;background-color:" + titlebgcolor;
 closeBtn.innerHTML = "<span style='font-size:15pt; color:"+titlecolor+";'>×</span>";
 closeBtn.onclick = function(){ 
  document.body.removeChild(bgObj); 
  document.body.removeChild(msgObj); 
 } 
 var msgBox = table.insertRow(-1).insertCell(-1);
 msgBox.style.cssText = "font:10pt '宋体';";
 msgBox.colSpan = 2;
 msgBox.innerHTML = msg;
  // 获得Event对象,用于兼容IE和FireFox
  function getEvent() {
   return window.event || arguments.callee.caller.arguments[0];
  }
} 
</script>
</head>
<body>
<input type="button" value="点这里" 
onclick="alertWin('点击弹出可关闭的层窗口,网页变灰',290,208);" />
</body>
</html>

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

Javascript 相关文章推荐
top.location.href 没有权限 解决方法
Aug 05 Javascript
jquery keypress,keyup,onpropertychange键盘事件
Jun 25 Javascript
如何高效率去掉js数组中的重复项
Apr 12 Javascript
Javascript 6里的4个新语法
Aug 25 Javascript
JavaScript 实现的checkbox经典实例分享
Oct 16 Javascript
Javascript 函数的四种调用模式
Nov 05 Javascript
JS实现间歇滚动的运动效果实例
Dec 22 Javascript
angularJS之$http:与服务器交互示例
Mar 17 Javascript
js 去掉字符串前后空格实现代码集合
Mar 25 Javascript
vue实现百度语音合成的实例讲解
Oct 14 Javascript
js计时事件实现圆形时钟
Mar 25 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
Oct 17 Javascript
JS实现简洁、全兼容的拖动层实例
May 13 #Javascript
javascript实现图片跟随鼠标移动效果的方法
May 13 #Javascript
javascript鼠标滑动评分控件完整实例
May 13 #Javascript
javascript实现链接单选效果的方法
May 13 #Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
May 13 #Javascript
javascript实现table表格隔行变色的方法
May 13 #Javascript
javascript模拟评分控件实现方法
May 13 #Javascript
You might like
php5.2时间相差8小时
2007/01/15 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
js 提交和设置表单的值
2008/12/19 Javascript
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
Python中操作符重载用法分析
2016/04/29 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
django解决跨域请求的问题详解
2019/01/20 Python
如何使用python操作vmware
2019/07/27 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
如何在django中实现分页功能
2020/04/22 Python
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
公司户外活动总结
2014/07/04 职场文书
员工试用期自我评价
2014/09/18 职场文书
代理词怎么写
2015/05/25 职场文书
小学班级口号大全
2015/12/25 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
Python requests用法和django后台处理详解
2022/03/19 Python
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript