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 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
js获取url参数的使用扩展实例
Dec 29 Javascript
JavaScript 变量作用域分析
Jul 04 Javascript
javascript打印大全(打印页面设置/打印预览代码)
Mar 29 Javascript
Node.js中使用mongoskin操作mongoDB实例
Sep 28 Javascript
14 个折磨人的 JavaScript 面试题
Aug 08 Javascript
浅谈JQ中mouseover和mouseenter的区别
Sep 13 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
Dec 28 Javascript
Vue常用的几个指令附完整案例
Nov 06 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
Mar 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+mysql写的留言本
2006/10/09 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
关于php循环跳出的问题
2013/07/01 PHP
关于PHP开发的9条建议
2015/07/27 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
pandas对指定列进行填充的方法
2018/04/11 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python邮件发送smtplib使用详解
2020/06/16 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
经济管理自荐书
2014/06/09 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
2016年端午节寄语
2015/12/04 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
2022漫威和DC电影上映作品
2022/04/05 欧美动漫