js实现遮罩层弹出框的方法
本文实例讲述了js实现遮罩层弹出框的方法。分享给大家供大家参考。具体分析如下:
昨天公司网站需要弹窗提示一些信息,要我在把弹窗的js代码和弹窗窗口html写在一起哪里需要就调用
不说那么多了,直接上代码,感觉肯定会有兼容问题,看到了请指出啊:
#H-dialog{display:none;position:absolute;z-index:9999999;width:400px;height:auto;background-color:#fff;}
#H-dialog.close{float:right;font-size:30px;margin-right:10px;margin-top:5px;cursor:pointer;}
#H-dialog.title{height:40px;padding-left:10px;font-size:20px;line-height:40px;}
#H-dialog#msgCont{height:36px;margin:30px050px;padding-left:65px;font-size:25px;line-height:36px;vertical-align:middle;background:url(../Images/ui_alert.png)no-repeat20px50%;}
</style>
<divid="H-dialog">
<aclass="close"onclick="popupClose(this)">×</a>
<divclass="title">提示</div>
<divid="msgCont">内容</div>
</div>
<scripttype="text/javascript">
//锁定背景屏幕
functionlockScreen(){
varclientH=document.body.offsetHeight;//body高度
varclientW=document.body.offsetWidth;//body宽度
vardocH=document.body.scrollHeight;//浏览器高度
vardocW=document.body.scrollWidth;//浏览器宽度
varbgW=clientW>docW?clientW:docW;//取有效宽
varbgH=clientH>docH?clientH:docH;//取有效高
varblackBg=document.createElement("div");
blackBg.id="blackBg";
blackBg.style.position="absolute";
blackBg.style.zIndex="99999";
blackBg.style.top="0";
blackBg.style.left="0";
blackBg.style.width=bgW+"px";
blackBg.style.height=bgH+"px";
blackBg.style.opacity="0.4";
blackBg.style.backgroundColor="#333";
document.body.appendChild(blackBg);
}
//关闭按钮事件
functionpopupClose(el){
varblackBg=document.getElementById("blackBg");
blackBg&&document.body.removeChild(blackBg);
el.parentNode.style.display="none";
}
//自动关闭
functionautoClose(id){
id=id||"H-dialog";
varblackBg=document.getElementById("blackBg");
varobjDiv=document.getElementById(id);
setTimeout(function(){
blackBg&&document.body.removeChild(blackBg);
objDiv.style.display="none";
},2000);
}
/**
*功能:弹窗信息
*参数1:提示信息内容
*参数2:提示信息状态默认0为提示信息,1为成功信息
*参数3:弹窗div的id,默认"H-dialog"
*参数4:弹窗内容的id,默认"msgCont"
**/
functionshowMsg(msg){
msg=msg||"请重新操作";
varstatus=arguments[1]||0,
popupId=arguments[2]||"H-dialog",
contentId=arguments[3]||"msgCont";
lockScreen();
//屏幕实际高宽
varpageWidth=window.innerWidth;
varpageHeight=window.innerHeight;
if(typeofpageWidth!="number"){
if(document.compatMode=="CSS1Compat"){
pageWidth=document.documentElement.clientWidth;
pageHeight=document.documentElement.clientHeight;
}else{
pageWidth=document.body.clientWidth;
pageHeight=document.body.clientHeight;
}
}
//滚动条高宽
varscrollLeft=window.document.documentElement.scrollLeft;
varscrollTop=0;
if(typeofwindow.pageYOffset!="undefined"){
scrollTop=window.pageYOffset;
}elseif(typeofwindow.document.compatMode!="undefined"&&
window.document.compatMode!="BackCompat"){
scrollTop=window.document.documentElement.scrollTop;
}elseif(typeofwindow.document.body!="undefined"){
scrollTop=window.document.body.scrollTop;
}
vardiv_X=(pageWidth-400)/2+scrollLeft;
vardiv_Y=(pageHeight-200)/2+scrollTop;
varobjDiv=document.getElementById(popupId);
if(status){
document.getElementById(contentId).style.background="url($Root/Assets/Images/ui_success.png)no-repeat20px50%";
}
document.getElementById(contentId).innerHTML=msg;
objDiv.style.display="block";
objDiv.style.left=div_X+"px";
objDiv.style.top=div_Y+"px";
autoClose(popupId);
}
</script>
希望本文所述对大家的javascript程序设计有所帮助。
相关文章
- YUI Compressor插件压缩后war中的js/css文件未压缩的解决方法(被maven打包顶替了)
- 初识js中的闭包_Js闭包中变量理解
- js实现的map方法详解数据库
- js提交表单错误:document.form.submit() is not a function详解编程语言
- 创建JS文件:在Linux下实现自动化任务(linux创建js文件)
- 数据JS技术实现实时获取Oracle数据(js实时获取oracle)
- js模拟实现Array的sort方法
- firefoxTBODY用js显示和隐藏时出现错位的解决方法
- Js切换功能的简单方法
- js静态方法与实例方法分析
- js实现翻页后保持checkbox选中状态的实现方法
- js回车提交表单两种实现方法
- JS模板实现方法
- 让低版本浏览器支持input的placeholder属性(js方法)
- js中apply方法的使用详细解析
- js将字符串转成正则表达式的实现方法
- js类式继承的具体实现方法
- JS网页图片按比例自适应缩放实现方法
- 用于deeplink的js方法(判断手机是否安装app)
- js生成动态表格并为每个单元格添加单击事件的方法
- js冒泡、捕获事件及阻止冒泡方法详细总结
- AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
- node.js中的http.request.end方法使用说明
- node.js中的fs.exists方法使用说明
- js实现鼠标悬浮给图片加边框的方法
- js自动生成的元素与页面原有元素发生堆叠的解决方法
- asp.net后台动态添加JS文件和css文件的引用实现方法