`
nannan408
  • 浏览: 1783830 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

深入研究jquery的弹出层----唯一兼容jquery1.9和ie火狐谷歌解决方案。

 
阅读更多
1.前言。
   很多人会问,jquery弹出层嘛,hide和show一下。或者找下插件就可以了吧。我一开始也是这样想的,但是我错了,百分之99.99的插件忽视了ie7的兼容,导致样式不兼容,位置不居中。这两个是出现在这些插件上最多的。 就连jquery自身的dialog也是bug多多,ie7明显样式错乱,火狐根本不能用,不知道这些开发者这样搞下去,jquery ui是不是越来越鸡肋。我敢说他们推出dialog根本没测。牢骚少发,插件做不通这件事情,还是用hide和show搞。自己写div。这里感谢这位大牛,id叫“北朝门”的大牛的博客。http://hi.baidu.com/9idea/item/d84b19c95805a413505058c0
我其实最后也想自己写了,时间比较紧。

2.直接代码,copy可以用。
<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb-2312" />

<title>jQuery弹出层效果</title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<style>

.black_overlay{

display: none;

position: absolute;

top: 0%;

left: 0%;

width: 100%;

height: 100%;

background-color: black;

z-index:1001;

-moz-opacity: 0.8;

opacity:.80;

filter: alpha(opacity=80);

}

.white_content {

display: none;

position: absolute;

top: 10%;

left: 10%;

width: 80%;

height: 80%;

border: 16px solid lightblue;

background-color: white;

z-index:1002;

overflow: auto;

}

.white_content_small {

display: none;

position: absolute;

top: 20%;

left: 30%;

width: 40%;

height: 50%;

border: 16px solid lightblue;

background-color: white;

z-index:1002;

overflow: auto;

}

</style>

<script type="text/javascript">

//弹出隐藏层

function ShowDiv(show_div,bg_div){

document.getElementById(show_div).style.display='block';

document.getElementById(bg_div).style.display='block' ;

var bgdiv = document.getElementById(bg_div);

bgdiv.style.width = document.body.scrollWidth;

// bgdiv.style.height = $(document).height();

$("#"+bg_div).height($(document).height());

};

//关闭弹出层

function CloseDiv(show_div,bg_div)

{

document.getElementById(show_div).style.display='none';

document.getElementById(bg_div).style.display='none';

};

</script>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>

<body>

<input id="Button1" type="button" value="点击弹出层" onClick="ShowDiv('MyDiv','fade')" />

<!--弹出层时背景层DIV-->

<div id="fade" class="black_overlay">

</div>

<div id="MyDiv" class="white_content">

<div>

<span onClick="CloseDiv('MyDiv','fade')" style="float:right">关闭</span>

</div>

<br />

这里是弹出层的内容

</div>

</body>

</html>



3.总结。
  (1)市面上的插件我基本访问了个遍。给我感受最深的是国产插件的浮躁。有的是根本没做好就急着商业化。有的也是没做好,就半途而废,苟且偷安,贻害后人,没有维护的插件是可怕的,除非已经无可挑剔。有的是已经有很多人使用,但兼容性该没考虑到的还是没考虑到,这些作者们大概也是躺在功劳簿上面睡的不省人事了吧。特别是lhgdialog,iframe的弹出层已经脱离了div管辖,ie7居中都这么大问题,还能说什么。
  (2) 一些开源的弹出层插件就更加了,基本的兼容都没搞定,就一直往下做了,  我只能说,做多错多,害人多多。
  (3)建议,开源框架提供多些提建议的空间,并且尽量简洁,我的意思,入口例子就一句话的肯定最受欢迎。
分享到:
评论

相关推荐

    JQuery UI 1.9

    6. **兼容性**:JQuery UI 1.9应与多个浏览器保持良好的兼容性,包括Internet Explorer、Firefox、Chrome、Safari和Opera等主流浏览器,以覆盖广泛的用户群体。 7. **国际化**:为了满足全球用户的需求,JQuery UI...

    jquery-ui-1.9m2.zip

    jQuery UI 支持大部分现代浏览器,包括 Chrome、Firefox、Safari、IE8 及以上版本。为了优化性能,确保使用最新版本的 jQuery,并注意避免在大型页面上无限制地使用大量组件。 **5. 社区支持和资源** jQuery UI ...

    jquery-ui-1.9.zip

    jQuery UI 1.9兼容大部分现代浏览器,包括Chrome、Firefox、Safari、Opera以及Internet Explorer 8及以上版本。尽管1.9是一个稳定版本,但项目团队仍持续改进,推出更高版本以适应不断变化的Web环境。 总结,jQuery...

    jquery-ui-1.9.0(最新稳定版本)

    jQuery UI 1.9.0 支持大多数现代浏览器,包括Internet Explorer 8及以上版本,Firefox,Chrome,Safari,以及Opera。同时,它遵循jQuery的兼容性策略,确保与不同版本的jQuery库良好配合。 总结来说,jQuery UI ...

    弹出层兼容所有浏览器

    综上所述,"弹出层兼容所有浏览器"项目利用jQuery的便利性和强大的兼容性,结合合理的前端开发策略,确保了弹出层在Firefox、Chrome、Safari、Edge、Internet Explorer等不同浏览器中的一致表现。这不仅提高了用户...

    jquery1.9判断浏览器类型和版本

    在JavaScript和jQuery的世界里,了解用户正在使用的浏览器类型和版本是非常重要的,这有助于开发者优化代码以适应不同的浏览器特性。在jQuery 1.9版本中,官方移除了`$.browser`对象,这个对象曾经是用于检测浏览器...

    jQuery-box2.3版本

    - jQuery-box2.3已确认兼容jQuery1.9及更高版本,这意味着它可以在大多数现代浏览器中正常运行,包括Chrome、Firefox、Safari、Edge和IE9+。同时,由于依赖jQuery,所以请确保在引入jQuery-box前先引入jQuery库。 ...

    jQuery-min-2.0 官方压缩版.rar

    如果你的网站需要维护对IE8或者低版本(或者是IE9和IE10在兼容模式下运行),你只需要沿用jQuery1.9或者以下版本。如 果你想要同时兼容新旧版浏览器,你可以使用条件注释,让2.0在新浏览器上使用,而旧版本使用1.9,...

    jquery-ui-1.11.0.custom.zip最新版本

    jQuery UI致力于跨浏览器兼容性,支持主流的现代浏览器,包括Chrome、Firefox、Safari、Opera和Internet Explorer。 6. 文档与社区: 对于开发人员来说,jQuery UI的官方文档非常详尽,提供了组件的使用示例和API...

    bootstarp 3.0兼容ie7

    然而,Bootstrap 3.0 的官方支持仅涵盖现代浏览器,包括Chrome、Firefox、Safari、Edge以及IE9及以上的版本。对于较老的浏览器,尤其是Internet Explorer 7(简称IE7),Bootstrap 3.0可能表现出兼容性问题,导致...

    jquery-1.9.0b1

    1. 兼容性改进:jQuery 1.9.0b1继续致力于支持广泛的浏览器环境,包括现代的Chrome、Firefox、Safari、IE8及更高版本,确保跨平台和跨设备的流畅运行。 2. API调整:为了保持代码的简洁性和一致性,部分过时的API被...

    jQuery-Nice-File-Input:jQuery Nice File Input Plugin 提供了看起来不错的文件输入 HTML 元素,同时可以轻松进行各种自定义以适合您的应用程序

    jQuery Nice File Input 已经在所有主要浏览器上使用 jQuery 1.9+ 进行了测试: Firefox 2+(Win、Mac、Linux) IE8+(赢) Chrome 6+(Win、Mac、Linux) Safari 3.2+ (Win, Mac) Opera 8+(Win、Mac、Linux)...

    jquery判断浏览器版本插件,jquery-browser.js

    这里,`$.browser.name`返回浏览器的名称,如"Chrome"、"Firefox"等;`$.browser.version`则返回浏览器的具体版本号,如"58.0"。此外,插件还可能提供其他属性,如`.major`用于获取主版本号,`.minor`获取次版本号,...

    jquery-ui代码下载

    此外,它还兼容现代浏览器,包括Chrome、Firefox、Safari、Edge和Internet Explorer,确保了广泛的应用范围。 总的来说,jQuery UI 是一个强大且灵活的前端开发工具,它通过丰富的组件、特效和动画,使网页开发变得...

    JQuery鉴别各种浏览器以及版本

    不过,应该注意的是,浏览器检测不应作为解决兼容性问题的首选方案,优先考虑使用符合标准的代码和渐进增强的策略。同时,随着浏览器的更新迭代,UserAgent字符串可能会发生变化,因此定期更新检测逻辑是很必要的。

    jquery实现的网页自动播放声音

    文档中提到,对于IE8,使用了标签作为替代方案,而IE9及以上版本、Firefox、Chrome等现代浏览器则可以直接使用标签并设置其属性。 在HTML5中,标签被用来嵌入音频内容,并且具有丰富的属性和方法来控制音频的播放。...

    jquery_browser-源码.rar

    《jQuery浏览器识别模块详解》 在前端开发中,jQuery是一个非常流行且强大的JavaScript库,它极大地简化了DOM操作、事件处理、动画制作等任务。然而,由于不同浏览器之间的差异,有时我们需要针对特定浏览器进行...

    jquery实现纯js转置表格

    这个描述提示我们,所实现的解决方案在Firefox和Chrome浏览器中能正常工作,但在Internet Explorer(IE)浏览器上可能存在问题。这通常是由于不同浏览器对JavaScript和CSS的实现存在差异,尤其是老版本的IE。因此,...

    JQuery PrintArea

    5. **兼容性**:兼容大部分现代浏览器,包括IE8+,以及Firefox、Chrome、Safari等。 **三、使用方法** 1. **引入jQuery库**:首先,确保在页面中引入了jQuery库,版本至少为1.9或更高。 2. **引入PrintArea插件**...

Global site tag (gtag.js) - Google Analytics