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


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 相关文章推荐
cnblogs 代码高亮显示后的代码复制问题解决实现代码
Dec 14 Javascript
纯js网页画板(Graphics)类简介及实现代码
Dec 24 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
Apr 22 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
Jul 03 Javascript
js获取本机的外网/广域网ip地址完整源码
Aug 12 Javascript
关于img的href和src取变量及赋值的方法
Apr 28 Javascript
JavaScript实现的in_array函数
Aug 27 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
深入理解JavaScript中的并行处理
Sep 22 Javascript
angularJS实现动态添加,删除div方法
Feb 27 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
Feb 10 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
php后台程序与Javascript的两种交互方式
2009/10/25 PHP
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
原生php实现excel文件读写的方法分析
2018/04/25 PHP
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
浅谈js中的bind
2019/03/18 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
Python 判断图像是否读取成功的方法
2019/01/26 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
python 字符串常用函数详解
2019/09/11 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Python读取yaml文件的详细教程
2020/07/21 Python
python如何修改文件时间属性
2021/02/05 Python
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
祖国在我心中演讲稿300字
2014/05/04 职场文书
老公出轨后的保证书
2015/05/08 职场文书
可可西里观后感
2015/06/08 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
利用javaScript处理常用事件详解
2021/04/14 Javascript
MySQL中order by的执行过程
2022/06/05 MySQL