jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7


Posted in Javascript onJune 16, 2014

本?潘孔罱?ぷ饕?笾匦赐?舅?写?耄?o...极其蛋疼的事情出现了,管我的人要求不能用网上的插件,oh~~~my god!! 这是多么能让千万只草原上的马儿奔腾的要求~~~

先实现一个比较简单的功能:

需求:网页遮罩层/弹出层,兼容IE6

幸好本?潘恳郧按厦魇占?烁?s的版本,so,自己改写成了jQuery插件形式的,方便以后使用。

屁话不多放,无码无真相!

/******************************* 
* @name Layer跨浏览器兼容插件 v1.0 
*******************************/ 
;(function($){ 
$.fn.layer = function(){ 
var isIE = (document.all) ? true : false; 
var isIE6 = isIE && !window.XMLHttpRequest; 
var position = !isIE6 ? "fixed" : "absolute"; 
var containerBox = jQuery(this); 
containerBox.css({"z-index":"9999","display":"block","position":position ,"top":"50%","left":"50%","margin-top": -(containerBox.height()/2)+ "px","margin-left": -(containerBox.width()/2) + "px"}); 
var layer=jQuery("<div></div>"); 
layer.css({"width":"100%","height":"100%","position":position,"top":"0px","left":"0px","background-color":"#000","z-index":"9998","opacity":"0.6"}); 
jQuery("body").append(layer); 
function layer_iestyle(){ 
var maxWidth = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth) + "px"; 
var maxHeight = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) + "px"; 
layer.css({"width" : maxWidth , "height" : maxHeight }); 
} 
function containerBox_iestyle(){ 
var marginTop = jQuery(document).scrollTop - containerBox.height()/ 2 + "px"; 
var marginLeft = jQuery(document).scrollLeft - containerBox.width()/ 2 + "px"; 
containerBox.css({"margin-top" : marginTop , "margin-left" : marginLeft }); 
} 
if(isIE){ 
layer.css("filter","alpha(opacity=60)"); 
} 
if(isIE6){ 
layer_iestyle(); 
containerBox_iestyle(); 
} 
jQuery("window").resize(function(){ 
layer_iestyle(); 
}); 
layer.click(function(){ 
containerBox.hide(); 
jQuery(this).remove(); 
}); 
}; 
})(jQuery);

哈哈,是不是很简单,但是此处有个比较大的bug,没法让IE6支持背景色透明,所以,在IE6的显示下,就会出现一大片屎黑色~~~~

现在来说说使用方法:

第一步:引用jquery文件,这个不多说,自己下去吧,http://jquery.com

第二步:把我这个插件引用进去,这个也不多说,点击下载,

第三步:你看,你要显示在中间的内容box,我是不是没法给你实现,所以,需要你自己建一个,放在网页最下端即可,

eg:

<div id="kabulore-layer"> 
<div class="box_container"> 
弹弹弹,弹走鱼尾纹~~ 
</div> 
</div>

第四步:在你要弹出来这个内容框的地方加个时间,以click为例:
$("#tan").click(function(){ 
$("#kabulore-layer").layer(); 
});

大功告成!

注:此插件是点击灰色区域的时候,该弹出层自动隐藏,如果想加个关闭按钮再隐藏,可自己写一下close事件

Javascript 相关文章推荐
JS自调用匿名函数具体实现
Feb 11 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
Sep 02 Javascript
JavaScript插件化开发教程 (四)
Jan 27 Javascript
js中javascript:void(0) 真正含义
Nov 05 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
May 30 Javascript
js实现动态显示时间效果
Mar 06 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
微信小程序实现登录注册tab切换效果
Dec 29 Javascript
通过JavaScript下载文件到本地的方法(单文件)
Mar 17 Javascript
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
浅谈Vue.js之初始化el以及数据的绑定说明
Nov 14 Javascript
微信小程序实现导航栏和内容上下联动功能代码
Jun 29 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 #Javascript
解决checkbox的attr(checked)一直为undefined问题
Jun 16 #Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 #Javascript
javascript操纵OGNL标签示例代码
Jun 16 #Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 #Javascript
select多选 multiple的使用示例
Jun 16 #Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 #Javascript
You might like
php图片的二进制转换实现方法
2014/12/15 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
javascript删除字符串最后一个字符
2014/01/14 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
python3实现ftp服务功能(客户端)
2017/03/24 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
Python如何快速上手? 快速掌握一门新语言的方法
2017/11/14 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
Python如何在bool函数中取值
2020/09/21 Python
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
技术总监岗位职责
2013/12/05 职场文书
可口可乐广告词
2014/03/20 职场文书
初中成绩单评语
2014/12/29 职场文书
后天观后感
2015/06/08 职场文书
周一给客户的问候语
2015/11/10 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python