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中input中readonly和disabled区别介绍
Oct 23 Javascript
document.createElement()用法
Mar 13 Javascript
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
用javascript替换URL中的参数值示例代码
Jan 27 Javascript
JS版的date函数(和PHP的date函数一样)
May 12 Javascript
jQuery插件windowScroll实现单屏滚动特效
Jul 14 Javascript
jQuery绑定事件的几种实现方式
May 09 Javascript
AngularJS入门教程引导程序
Aug 18 Javascript
bootstrap table操作技巧分享
Feb 15 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
Mar 08 Javascript
Vue实现带进度条的文件拖动上传功能
Feb 23 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 24 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学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
PHP设计模式之解释器模式的深入解析
2013/06/13 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
比较详细的javascript对象的property和prototype是什么一种关系
2007/08/06 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[43:57]LGD vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
解决python大批量读写.doc文件的问题
2018/05/08 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
企划专员岗位职责
2013/12/09 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
颐和园导游词
2015/01/30 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
门卫管理制度范本
2015/08/05 职场文书
同学聚会祝酒词
2015/08/10 职场文书
推普标语口号大全
2015/12/26 职场文书
Python实现排序方法常见的四种
2021/07/15 Python
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers