JavaScript实现弹出DIV层同时页面背景渐变成半透明效果


Posted in Javascript onMarch 25, 2016

本文实例讲述了JavaScript实现弹出DIV层同时页面背景渐变成半透明效果。分享给大家供大家参考,具体如下:

<!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>
<title>JavaScript弹出DIV层,页面背景渐变成半透明</title>
<style>
html,body{font-size:12px;margin:0px;height:100%;}
.mesWindow{border:#666 1px solid;background:#fff;}
.mesWindowTop{border-bottom:#eee 1px solid;margin-left:4px;padding:3px;font-weight:bold;text-align:left;font-size:12px;}
.mesWindowContent{margin:4px;font-size:12px;}
.mesWindow .close{height:15px;width:28px;border:none;cursor:pointer;text-decoration:underline;background:#fff}
</style>
<script>
var isIe=(document.all)?true:false;
//设置select的可见状态
function setSelectState(state)
{
var objl=document.getElementsByTagName('select');
for(var i=0;i<objl.length;i++)
{
objl[i].style.visibility=state;
}
}
function mousePosition(ev)
{
if(ev.pageX || ev.pageY)
{
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
//弹出方法
function showMessageBox(wTitle,content,pos,wWidth)
{
closeWindow();
var bWidth=parseInt(document.documentElement.scrollWidth);
var bHeight=parseInt(document.documentElement.scrollHeight);
if(isIe){
setSelectState('hidden');}
var back=document.createElement("div");
back.id="back";
var styleStr="top:0px;left:0px;position:absolute;background:#666;width:"+bWidth+"px;height:"+bHeight+"px;";
styleStr+=(isIe)?"filter:alpha(opacity=0);":"opacity:0;";
back.style.cssText=styleStr;
document.body.appendChild(back);
showBackground(back,50);
var mesW=document.createElement("div");
mesW.id="mesWindow";
mesW.className="mesWindow";
mesW.innerHTML="<div class='mesWindowTop'><table width='100%' height='100%'><tr><td>"+wTitle+"</td><td style='width:1px;'><input type='button' onclick='closeWindow();' title='关闭窗口' class='close' value='关闭' /></td></tr></table></div><div class='mesWindowContent' id='mesWindowContent'>"+content+"</div><div class='mesWindowBottom'></div>";
styleStr="left:"+(((pos.x-wWidth)>0)?(pos.x-wWidth):pos.x)+"px;top:"+(pos.y)+"px;position:absolute;width:"+wWidth+"px;";
mesW.style.cssText=styleStr;
document.body.appendChild(mesW);
}
//让背景渐渐变暗
function showBackground(obj,endInt)
{
if(isIe)
{
obj.filters.alpha.opacity+=1;
if(obj.filters.alpha.opacity<endInt)
{
setTimeout(function(){showBackground(obj,endInt)},5);
}
}else{
var al=parseFloat(obj.style.opacity);al+=0.01;
obj.style.opacity=al;
if(al<(endInt/100))
{setTimeout(function(){showBackground(obj,endInt)},5);}
}
}
//关闭窗口
function closeWindow()
{
if(document.getElementById('back')!=null)
{
document.getElementById('back').parentNode.removeChild(document.getElementById('back'));
}
if(document.getElementById('mesWindow')!=null)
{
document.getElementById('mesWindow').parentNode.removeChild(document.getElementById('mesWindow'));
}
if(isIe){
setSelectState('');}
}
//测试弹出
function testMessageBox(ev)
{
var objPos = mousePosition(ev);
messContent="<div style='padding:20px 0 20px 0;text-align:center'>消息正文</div>";
showMessageBox('窗口标题',messContent,objPos,350);
}
</script>
</head>
<body>
<div style="padding:20px">
<div style="text-align:left";><a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
<div style="text-align:left;padding-left:20px;padding-top:10px";><select ID="Select1" NAME="Select1"><option>下拉</option></select>弹出窗口时会将其隐藏,关闭时会让其显示,目的是在IE中防止弹出的DIV挡不住下拉框</div>
<div style="text-align:center";><a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
<div style="text-align:right";><a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
</div>
<br />
</body>
</html>

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

Javascript 相关文章推荐
JSON JQUERY模板实现说明
Jul 03 Javascript
9行javascript代码获取QQ群成员具体实现
Oct 16 Javascript
javascript操作css属性
Dec 30 Javascript
jQuery插件boxScroll实现图片轮播特效
Jul 14 Javascript
基于javascript实现页面加载loading效果
Sep 15 Javascript
聊一聊JS中this的指向问题
Jun 17 Javascript
jQuery文件上传控件 Uploadify 详解
Jun 20 Javascript
vue组件Prop传递数据的实现示例
Aug 17 Javascript
vue elementUI tree树形控件获取父节点ID的实例
Sep 12 Javascript
element-ui table span-method(行合并)的实现代码
Dec 20 Javascript
Vue数字输入框组件示例代码详解
Jan 15 Javascript
微信小程序间使用navigator跳转传值问题实例分析
Mar 27 Javascript
JavaScript修改作用域外变量的方法
Mar 25 #Javascript
JavaScript 2048 游戏实例代码(简单易懂)
Mar 25 #Javascript
JavaScript入门系列之知识点总结
Mar 24 #Javascript
JS实现支持Ajax验证的表单插件
Mar 24 #Javascript
拥有一个属于自己的javascript表单验证插件
Mar 24 #Javascript
jquery zTree异步加载、模糊搜索简单实例分享
Mar 24 #Javascript
js+css实现select的美化效果
Mar 24 #Javascript
You might like
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
php显示页码分页类的封装
2017/06/08 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
Angular2 组件通信的实例代码
2017/06/23 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
js实现下拉框二级联动
2018/12/04 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
一篇不错的Python入门教程
2007/02/08 Python
Python pickle模块用法实例分析
2015/05/27 Python
python中偏函数partial用法实例分析
2015/07/08 Python
python实现任意位置文件分割的实例
2018/12/14 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
python设置环境变量的作用和实例
2019/07/09 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
销售类个人求职信范文
2013/09/25 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
大学生个人求职信
2014/06/02 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书