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 相关文章推荐
巧妙破除网页右键禁用的十大绝招
Aug 12 Javascript
JavaScript prototype属性使用说明
May 13 Javascript
jQuery实现鼠标移到元素上动态提示消息框效果
Oct 20 Javascript
jquery 显示*天*时*分*秒实现时间计时器
May 07 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
Nov 13 Javascript
Angular2安装angular-cli
May 21 Javascript
老生常谈ES6中的类
Jul 31 Javascript
简单谈谈vue的过渡动画(推荐)
Oct 11 Javascript
详解webpack require.ensure与require AMD的区别
Dec 13 Javascript
jQuery简单判断值是否存在于数组中的方法示例
Apr 17 jQuery
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
Dec 14 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
Mar 10 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
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
PHP file_exists问题杂谈
2012/05/07 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
初识laravel5
2015/03/02 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
2015/04/03 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
基于JavaScript实现移动端无限加载分页
2017/03/27 Javascript
微信小程序对接七牛云存储的方法
2017/07/30 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
2019/05/21 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
PyQt5实现拖放功能
2018/04/25 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
Python 必须了解的5种高级特征
2020/09/10 Python
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
培训主管的职业生涯规划
2014/03/06 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android