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 相关文章推荐
JavaScript加密解密7种方法总结分析
Oct 07 Javascript
js 页面传参数时 参数值含特殊字符的问题
Dec 13 Javascript
ExtJs使用总结(非常详细)
Mar 22 Javascript
window.opener用法和用途实例介绍
Aug 19 Javascript
使用Sticker.js实现贴纸效果
Jan 28 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
JS获取当前页面名称的简单实例
Aug 19 Javascript
超简单的Vue.js环境搭建教程
Mar 17 Javascript
纯jQuery实现前端分页功能
Mar 23 jQuery
Web开发使用Angular实现用户密码强度判别的方法
Sep 27 Javascript
js的函数的按值传递参数(实例讲解)
Nov 16 Javascript
vue如何安装使用Quill富文本编辑器
Sep 21 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就可用
2010/10/12 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
兼容ie和firefox js关闭代码
2008/12/11 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
python超简单解决约瑟夫环问题
2015/05/12 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
Python爬取网页信息的示例
2020/09/24 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
一些高难度的SQL面试题
2016/11/29 面试题
护士个人简历自荐信
2013/10/18 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
2015年元旦标语大全
2014/12/09 职场文书
2019销售早会主持词
2019/06/27 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
python装饰器代码解析
2022/03/23 Python
Tomcat用户管理的优化配置详解
2022/03/31 Servers