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+CSS 图片等比缩小并垂直居中实现代码
Dec 01 Javascript
js css样式操作代码(批量操作)
Oct 09 Javascript
jquery常用技巧及常用方法列表集合
Apr 06 Javascript
jquery 之 $().hover(func1, funct2)使用方法
Jun 14 Javascript
js中如何把字符串转化为对象、数组示例代码
Jul 17 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
Dec 04 Javascript
Javascript 中创建自定义对象的方法汇总
Dec 04 Javascript
Javascript实现单例模式
Jan 24 Javascript
vue-cli中打包图片路径错误的解决方法
Oct 26 Javascript
jQuery zTree 异步加载添加子节点重复问题
Nov 29 jQuery
Vue-Cli 3.0 中配置高德地图的两种方式
Jun 19 Javascript
Vue 解决多级动态面包屑导航的问题
Nov 04 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分页效率终结版(推荐)
2013/07/01 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
js中关于一个分号的崩溃示例
2013/11/11 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
高校自主招生校长推荐信
2015/03/23 职场文书
后天观后感
2015/06/08 职场文书
小学运动会入场口号
2015/12/24 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技