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


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 相关文章推荐
JavaScript中数组的排序、乱序和搜索实现代码
Nov 30 Javascript
13 个JavaScript 性能提升技巧分享
Jul 26 Javascript
json实现前后台的相互传值详解
Jan 05 Javascript
使用jspdf生成pdf报表
Jul 03 Javascript
tuzhu_req.js 实现仿百度图片首页效果
Aug 11 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
Nov 17 Javascript
angular ng-repeat数组中的数组实例
Feb 18 Javascript
vue父组件通过props如何向子组件传递方法详解
Aug 16 Javascript
node.js express框架实现文件上传与下载功能实例详解
Oct 15 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 Javascript
vue实现列表垂直无缝滚动
Apr 08 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学习之数据类型之间的转换代码
2011/05/29 PHP
yii的CURD操作实例详解
2014/12/04 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
Node.js实现文件上传
2016/07/05 Javascript
js实现砖头在页面拖拉效果
2020/11/20 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
python练习程序批量修改文件名
2014/01/16 Python
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
Python中私有属性的定义方式
2020/03/05 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
Python中如何定义一个函数
2016/09/06 面试题
工作个人的自我评价
2014/01/14 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
大家访活动实施方案
2014/03/10 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
片区教研活动总结
2014/07/02 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
安全保证书
2015/01/16 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android