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 相关文章推荐
JavaScript 错误处理与调试经验总结
Aug 10 Javascript
ajax处理php返回json数据的实例代码
Jan 24 Javascript
js动态生成指定行数的表格
Jul 11 Javascript
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
微信小程序 实战小程序实例
Oct 08 Javascript
详解webpack介绍&amp;安装&amp;常用命令
Jun 29 Javascript
详解node单线程实现高并发原理与node异步I/O
Sep 21 Javascript
vue动态设置img的src路径实例
Sep 18 Javascript
js回调函数原理与用法案例分析
Mar 04 Javascript
微信小程序实现多行文字滚动
Nov 18 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
php性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
非常漂亮的JS代码经典广告
2007/10/21 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
Python使用pickle模块实现序列化功能示例
2018/07/13 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
2018/07/16 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
python 决策树算法的实现
2020/10/09 Python
python asyncio 协程库的使用
2021/01/21 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
春节联欢晚会主持词
2014/03/24 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
外国人来华邀请函
2015/01/31 职场文书
2015年教师节活动总结
2015/03/20 职场文书
导游词之清晏园
2019/11/22 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
vue3不同环境下实现配置代理
2022/05/25 Vue.js
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers