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 相关文章推荐
JS应用之禁止抓屏、复制、打印
Feb 21 Javascript
javascript学习笔记(五)正则表达式
Apr 08 Javascript
对js关键字命名的疑问介绍
Apr 25 Javascript
JS实现进入页面时渐变背景色的方法
Feb 25 Javascript
jQuery添加删除DOM元素方法详解
Jan 18 Javascript
jquery及js实现动态加载js文件的方法
Jan 21 Javascript
谈一谈JS消息机制和事件机制的理解
Apr 14 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
Jan 21 Javascript
JS中mouseup事件丢失的原因与解决办法
Jun 14 Javascript
微信小程序实现皮肤功能(夜间模式)
Jun 18 Javascript
实现vuex原理的示例
Oct 21 Javascript
使用TS来编写express服务器的方法步骤
Oct 29 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
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
web性能优化之javascript性能调优
2012/12/28 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
全球最大的游戏市场:G2A
2018/07/05 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
大学迎新晚会主持词
2014/03/24 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
营销与策划实训报告
2014/11/05 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
北京天坛导游词
2015/02/12 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
Python基础知识之变量的详解
2021/04/14 Python
Python道路车道线检测的实现
2021/06/27 Python
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers