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中 关于undefined和null的区别介绍
Apr 16 Javascript
javascript跨域原因以及解决方案分享
Apr 08 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
Jun 01 Javascript
Javascript的this用法
Jan 16 Javascript
jQuery页面弹出框实现文件上传
Feb 09 Javascript
利用JS实现简单的瀑布流加载图片效果
Apr 22 Javascript
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
vue.js数据绑定操作详解
Apr 23 Javascript
layui复选框的全选与取消实现方法
Sep 02 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
Nov 14 Javascript
Vue 嵌套路由使用总结(推荐)
Jan 13 Javascript
es6数组的flat(),flatMap()函数用法实例分析
Apr 18 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的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
php-msf源码详解
2017/12/25 PHP
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
2019/03/16 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
python实现ip查询示例
2014/03/26 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
Python正则表达式常用函数总结
2017/06/24 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
Python读取word文本操作详解
2018/01/22 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
2018/09/17 Python
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
类和结构的区别
2012/08/15 面试题
要账委托书范本
2014/09/15 职场文书
2014年售票员工作总结
2014/11/19 职场文书
自荐信怎么写
2015/03/04 职场文书
黄河绝恋观后感
2015/06/08 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
python实现简单的名片管理系统
2021/04/26 Python