老生常谈遮罩层 滚动条的问题


Posted in Javascript onApril 29, 2016

今天遇到的问题是,在弹出层后面的 遮罩层,因为有滚动条,导致滚动条下面不可视区域没有遮罩层,解决方式是加的css。

js代码

<script type="text/javascript"> 

//显示灰色JS遮罩层 

function showBg(ct,content){

 

var bH=$(document).height(); 

var bW=$("body").width()+16; 

var objWH=getObjWh(ct); 

$("#fullbg").css({width:bW,height:bH,display:"block"}); 

var tbT=objWH.split("|")[0]+"px"; 

var tbL=objWH.split("|")[1]+"px"; 

$("#dialog").show();

$("#"+ct).css({top:tbT,left:tbL,display:"block"}); 

 

$(window).scroll(function(){resetBg()}); 

$(window).resize(function(){resetBg()}); 

} 

function getObjWh(obj){ 

var st=document.documentElement.scrollTop;//滚动条距顶部的距离 

var sl=document.documentElement.scrollLeft;//滚动条距左边的距离 

var ch=document.documentElement.clientHeight;//屏幕的高度 

var cw=document.documentElement.clientWidth;//屏幕的宽度 

var objH=$("#"+obj).height();//浮动对象的高度 

var objW=$("#"+obj).width();//浮动对象的宽度




var objT=Number(st)+(Number(ch)-Number(objH))/2; 

var objL=Number(sl)+(Number(cw)-Number(objW))/2; 

return objT+"|"+objL; 

} 

function resetBg(){ 

var fullbg=$("#fullbg").css("display"); 

if(fullbg=="block"){ 

var bH2=$("body").height(); 

var bW2=$("body").width()+16; 

$("#fullbg").css({width:bW2,height:bH2}); 

var objV=getObjWh("dialog"); 

var tbT=objV.split("|")[0]+"px"; 

var tbL=objV.split("|")[1]+"px"; 

$("#dialog").css({top:tbT,left:tbL}); 

} 

} 




//关闭灰色JS遮罩层和操作窗口

function closeBg(){ 

$("#fullbg").css("display","none"); 

$("#dialog").css("display","none");

} 




</script>

css代码

#fullbg{ 

background-color: Gray; 

display:none; 

z-index:3; 

left:0px; 

opacity:0.5; top:0; left:0;height:100%; width:100%; z-index:999; position:fixed; _position:absolute; _left: expression_r(documentElement.scrollLeft + documentElement.clientWidth - this.offsetWidth); _top: expression_r(documentElement.scrollTop + documentElement.clientHeight - this.offsetHeight);

filter:Alpha(Opacity=30); 

opacity: 0.3; 

} 




#dialog { 

width:560px; 

background:#eee; 

display: none; 

z-index: 5; 

padding:16px;

font-size:12px;

z-index:1000; position:absolute;

}

#dialog sup{ color:#f00;}

#dialog .close0{ position:relative; top:-24px; left:544px; height:38px; width:40px;}

html代码

<div id="fullbg"></div> 

<!-- end JS遮罩层 --> 

<!-- 对话框 --> 

<div id="dialog">

<div class="close0"><a href="#" onclick="closeBg();"><img src="__IMG__/close.png" /></a></div> 

<div id="dialog_content">

<h3>个人信息</h3>

<p>(备注:以下信息我们只用于根据需要给您发送相关服务材料,不会对外泄密,敬请理解)</p>

<table width="555" border="0" cellspacing="1" cellpadding="0" class="yh_table">

       <tr>

        <td width="65" bgcolor="#eeeeee"><sup>*</sup>用户ID</td>

        <td width="100" bgcolor="#fbfbfb"><b>{$member.MEMBER_NAME}</b></td>

        <td width="65" bgcolor="#eeeeee"><sup>*</sup>真实姓名</td>

        <td width="80" bgcolor="#fbfbfb"><b>{$info.NAMES}</b></td>

        <td width="60" bgcolor="#eeeeee">性别</td>

        <td bgcolor="#fbfbfb"><b><php>echo $gender[$info['GENDER']];</php></b></td>

       </tr>

       <tr>

        <td bgcolor="#eeeeee"><sup>*</sup>手机号码</td>

        <td bgcolor="#fbfbfb"><b>{$info.TELEPHONE}</b></td>

        <td bgcolor="#eeeeee">电子邮箱</td>

        <td colspan="3" bgcolor="#fbfbfb"><b>{$member.EMAIL}</b></td>

       </tr>

       <tr>

        <td colspan="2" bgcolor="#eeeeee"><sup>*</sup>有效证件(身份证)</td>

        <td colspan="4" bgcolor="#fbfbfb"><b>{$info.IDS}</b></td>

       </tr>

       <tr>

        <td bgcolor="#eeeeee">通讯地址</td>

        <td colspan="3" bgcolor="#fbfbfb"><b>{$info.ADDRESS}</b></td>

        <td bgcolor="#eeeeee">邮编</td>

        <td bgcolor="#fbfbfb"><b>{$info.ZIPS}</b></td>

       </tr>

      </table>

</div> 




</div>

静下心来,循序渐进。

以上这篇老生常谈遮罩层 滚动条的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
读jQuery之八 包装事件对象
Jun 21 Javascript
checkbox全选所涉及到的知识点介绍
Dec 31 Javascript
javascript实现信息增删改查的方法
Jul 25 Javascript
JavaScript导航脚本判断当前导航
Jul 12 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
Jan 11 Javascript
vue深入解析之render function code详解
Jul 18 Javascript
Angular实现的进度条功能示例
Feb 18 Javascript
r.js来合并压缩css文件的示例
Apr 26 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
微信小程序定位当前城市的方法
Jul 19 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
Jan 24 Javascript
Vue-Element-Admin集成自己的接口实现登录跳转
Jun 23 Vue.js
弹出遮罩层后禁止滚动效果【实现代码】
Apr 29 #Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 #Javascript
Bootstrap实现下拉菜单效果
Apr 29 #Javascript
Easyui Treegrid改变默认图标的方法
Apr 29 #Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
Apr 29 #Javascript
JS组件Bootstrap导航条使用方法详解
Apr 29 #Javascript
Treegrid的动态加载实例代码
Apr 29 #Javascript
You might like
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
nodeJS微信分享
2017/12/20 NodeJs
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
python提取页面内url列表的方法
2015/05/25 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
python Kmeans算法原理深入解析
2019/08/23 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
python实现微信打飞机游戏
2020/03/24 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
web字体加载方案优化小结
2019/11/29 HTML / CSS
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
如何提高JDBC的性能
2013/04/30 面试题
分布式数据库需要考虑哪些问题
2013/12/08 面试题
印刷工程专业应届生求职信
2013/09/29 职场文书
师范生自荐信
2013/10/27 职场文书
医疗纠纷协议书
2014/04/16 职场文书
学校周年庆活动方案
2014/08/22 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
销售工作决心书
2015/02/04 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
java executor包参数处理功能 
2022/02/15 Java/Android
MongoDB数据库之添删改查
2022/04/26 MongoDB
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android