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


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 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 Javascript
javascript面向对象编程(一) 实例代码
Jun 25 Javascript
基于jquery中children()与find()的区别介绍
Apr 26 Javascript
JQuery操作元素的css样式
Mar 09 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
Bootstrap Table使用整理(二)
Jun 09 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
Sep 18 Javascript
JS获取当前地理位置的方法
Oct 25 Javascript
vue webpack开发访问后台接口全局配置的方法
Sep 18 Javascript
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
JS正则表达式封装与使用操作示例
May 15 Javascript
基于javascript的无缝滚动动画1
Aug 07 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
通过对php一些服务器端特性的配置加强php的安全
2006/10/09 PHP
PHP新手上路(十三)
2006/10/09 PHP
php 各种应用乱码问题的解决方法
2010/05/09 PHP
解析php中获取url与物理路径的总结
2013/06/21 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
vue elementUI使用tabs与导航栏联动
2019/06/21 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
python3编写C/S网络程序实例教程
2014/08/25 Python
python如何重载模块实例解析
2018/01/25 Python
python 将md5转为16字节的方法
2018/05/29 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
翻译专业应届生求职信
2013/11/23 职场文书
运动会稿件50字
2014/02/17 职场文书
2014年学习雷锋活动总结
2014/03/01 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
2016猴年春节问候语
2015/11/11 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
教你怎么用python实现字符串转日期
2021/05/24 Python
解决vue中provide inject的响应式监听
2022/04/19 Vue.js