- 浏览: 329168 次
- 性别:
- 来自: 上海
文章分类
最新评论
index.html
<body> <div class="field"><input type="checkbox" id="choose"/><label for="choose">查看历史记录</label><select><option>ie6</option></select></div> <div class="comparison"><div> </body>
popUpBox.html
<ul> <li class="left"> <h3>描述</h3> <div>wwwwwwwwwwwwwwwwwwwwwwww1wwwwwwwwwwwwwwwwwww5wwwwwwwwwwwwwwwwwwwwww4wwwwwwwwwwwwwwwwwww1wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww1wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww3wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww2wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww</div> </li> <li class="right"> <h3>描述</h3> <div>07年将是web标准大面积推广的年份07年将是web标准大面积推广的年07年将是web标准大面积推广的年份07年将是web标准大面积推广的年07年将是web标准大面积推广的年份07年将是web标准大面积推广的年07年将是web标准大面积推广的年份07年将是web标准大面积推广的年07年将是web标准大面积推广的年份07年将是web标准大面积推广的年07年将是web标准大面积推广的年份07年将是web标准大面积推广的年07年将是web标准大面积推广的年份07年将是web标准大面积推广的年07年将是web标准大面积推广的年份07年将是web标准大面积推广的年</div> </li> </ul> <span class="close">CLOSE</span>
css
<style> ul,li,h3,div{ margin:0;padding:0;font-size:12px;} div.comparison{display:none;z-index:3;position:absolute;width:800px;border:2px dashed #333;background-color:#fff;padding:10px;} ul{list-style-type:none;clear:both;overflow:hidden;height:120px;} li.left{float:left;width:395px;} li.right{width:395px;float:right;} h3,span.close{color:green;font-size:16px;} span.close{float:right;font-weight:bold;cursor:pointer;} li div{word-wrap:break-word;overflow:auto;border:1px solid #333;max-height:80px;_height:auto;padding:3px;margin:10px 0;} .wrap{z-index:1;background-color:#000;opacity:0.1;filter:alpha(opacity:10);position:absolute;left:0;top:0;width:100%;} iframe.ie6Bug{border:0;z-index:2;position:absolute;left:0;top:0;width:100%;background-color:#000;} </style>
javascript
<script type="text/javascript"> $(document).ready(function(){ function browserIe(){ if ($.browser.msie && $.browser.version < 7) { $("li div").each(function(){ var HeightValue = $(this).height(); if(HeightValue >= 80){ $(this).css("height","80px"); } else{ $(this).css("height","auto"); } }); } } function closeEvent(){ $("span.close").click(function(){ $(".wrap,div.comparison,iframe.ie6Bug").hide(); $(".field #choose").attr("checked",""); $("select").show(); }); } $("#choose").bind("click",function(event){ $(".comparison").load("popUpBox.html",function(){ var bodyWidth = document.documentElement.clientWidth; if($("#choose").attr("checked")){ $("<div class='wrap'></div>").appendTo("body"); if ($.browser.msie && $.browser.version < 7) { $("<iframe class='ie6Bug'></iframe>").appendTo("body"); $("select").hide(); $(".wrap").width($(document).width()-21); $(".wrap").height($(document).height()-4); } $(".ie6Bug").width(parseInt($(".comparison").width()) + parseInt($(".comparison").css("padding-left")) + parseInt($(".comparison").css("padding-right"))); $(".ie6Bug").height(parseInt($(".comparison").height()) + parseInt($(".comparison").css("padding-top")) + parseInt($(".comparison").css("padding-bottom"))); $("div.comparison,.ie6Bug").css({"left":(bodyWidth-$('div.comparison').width()) / 2 + "px","top":(document.documentElement.clientHeight-$('div.comparison').height()) / 2 + document.documentElement.scrollTop + "px"}).show(); browserIe(); closeEvent(); } }); }); }) </script>
1 . 通过ajax方法在当前index页面点击input后load一个新页面popUpBox.
2 . 为了区分弹出层内容和当前页的内容,需要在中间插入一个层,给背景色,用滤镜调整透明度。
动态获取当前页面的宽度。
var bodyWidth = document.documentElement.clientWidth;
document.documentElement.clientHeight指当前浏览器的可视范围内高度。
关于怎么取页面宽度高度的各种问题大家可以googe一下,方法很多。
http://www.jzym.net/article/sort019/sort0302/sort0318/info-3634.html
网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域高: document.body.offsetWeight //包括边线的宽 网页可见区域高: document.body.offsetHeight //包括边线的宽 网页正文全文宽: document.body.scrollWidth 网页正文全文高: document.body.scrollHeight 网页被卷去的高: document.body.scrollTop 网页被卷去的左: document.body.scrollLeft 网页正文部分上: window.screenTop 网页正文部分左: window.screenLeft 屏幕分辨率的高: window.screen.height 屏幕分辨率的宽: window.screen.width 屏幕可用工作区宽度: window.screen.availWidth 屏幕可用工作区高度: window.screen.availHeight
3 .通过绝对定位让弹出框显示在水平,垂直居中的位置。
$("div.comparison,.ie6Bug").css({"left":(bodyWidth-$('div.comparison').width()) / 2 + "px","top":(document.documentElement.clientHeight-$('div.comparison').height()) / 2 + document.documentElement.scrollTop + "px"}).show();
left:用(浏览器的可视宽度-弹出层的宽度)/2
top:用(浏览器的一屏高度-弹出层的高度)/2 + 纵向滚动条滚过的高度
4 .解决ie6的bug
a.如果弹出层下面是select框就遮不住,需要在当前页面和弹出层之间加一个iframe层就可以遮住当前页面的select,iframe层的大小和弹出层的大小一样。
b.弹出层以外的select框只有当弹出层出现后让select框隐藏,关闭弹出层后在让select框出现
c.或者用input框+js来模拟select框就不会出现a,b的问题。
5 .弹出层里的内容是两个div模拟的文本框,用max-height给最大高度,ie6不认max-height.
那么判断当前浏览器和版本,用js动态取文本框的高度来设定最大高度
6 .jquery的两个弹出层插件
- popUpBox.zip (31.7 KB)
- 下载次数: 906
评论
6 楼
wangzhen1984815
2008-12-02
学习,谢谢
5 楼
yucc77
2008-12-01
果然是在学习
4 楼
linginfanta
2008-12-01
你又造了一个轮子。
3 楼
ice-cream
2008-12-01
playfish 写道
弹出层。。。为什么还要造轮子呢。。jquery很多插件有这个效果的。另外官方的也有dialog UI,还有一个blockUI插件也很强大
那都是别人写的现成的,自己写一个体验一下,学习学习。
2 楼
playfish
2008-12-01
弹出层。。。为什么还要造轮子呢。。jquery很多插件有这个效果的。另外官方的也有dialog UI,还有一个blockUI插件也很强大
1 楼
上一站,火星
2008-12-01
Math.max(document.documentElement.clientHeight,document.body.scrollHeight);
恩,这个方法比较好用
发表评论
-
遍历class
2010-11-14 22:03 2053一般国外的网站很注重细节,他们会把菜单或者button做成图片 ... -
简单的新闻滚动
2010-11-09 23:07 1469这里直接用jquey的animate函数做的滚动效果 ... -
上一张下一张
2010-11-09 22:12 3428预览照片的常用功能:上一张下一张 效果图(很喜欢的蒙奇 ... -
自动播放的jQuery幻灯片
2010-10-29 22:23 3176来看下效果图: <script src ... -
EasySlider
2009-11-16 21:58 1648Easy Slider 1.5 - The Easiest j ... -
Cookie Plugin for jQuery
2009-08-09 23:30 2005Cookie Plugin for jQuery ... -
价格过滤条
2009-04-03 10:18 1242写了一个价格过滤条: 重点是按钮的css定位要算好。 只能 ... -
js图片轮换效果(二)
2009-03-13 15:23 4841结构: <ul id="picture& ... -
jquery ui 日历插件(换色+类型)
2009-03-10 16:59 5670抽空把jquery ui 里的日历做了个整理,整合了换色和几 ... -
二级菜单效果(3)
2009-03-07 16:05 1603html代码结构: <li class=&quo ... -
jquery之Image Scroller插件
2009-02-23 21:10 2287jquery之Image Scroller插件 图片滚动插 ... -
jquery学习之—构建功能型表单(二)
2009-02-10 20:45 1420在构建功能型表单(一) 中介绍了一些适用于用户进行文本性输入的 ... -
很炫的图片循环效果(jquery改写版)
2009-02-08 21:18 3399以前我在博客中发表过这个图片循环效果,是用javascript ... -
用animate方法展示大图
2009-02-06 15:44 1326demo中点击按钮后div元素的几个不同属性一同变化 ... -
菜单伸缩动画
2009-02-06 13:41 1576方法: $(document).ready(funct ... -
sexy curls插件
2009-02-06 12:14 1260The sexy curls jquery plugin ... -
facebox插件
2009-01-19 14:03 3298在网上down下facebox1.2版的源码, 重新整理了下( ... -
lightbox插件
2009-01-16 16:58 2256lightbox基于jquery1.3版(附件1) 具 ... -
thickbox插件用法
2009-01-13 22:47 1636最近发现一个不错的基于jquery的插件thickBox ,感 ... -
动态过滤填充input框和用弹出层替换select框
2008-12-23 23:21 3188左图是用keydown事件写的动态过滤填充input框 $ ...
相关推荐
实现弹出网页遮罩层,可兼容IE6/IE7/IE+++等; 缩放浏览器时,内容狂始终居中; 有点小bug,在IE6下,遮罩层颜色没透明,屎黑色,等我有空完善下。
《jQuery弹出层技术详解与应用实践》 在网页开发中,用户交互体验的重要性日益凸显,其中弹出层(Popup Layer)作为一种常见的交互元素,被广泛应用于提示信息、表单填写、图片预览等场景。jQuery,作为JavaScript...
《jQuery弹出层技术详解与应用实践》 在网页设计中,弹出层是一种常见的交互方式,用于在不离开当前页面的情况下展示额外的信息或功能。jQuery作为一款强大的JavaScript库,提供了丰富的API和插件,使得实现弹出层...
本文将详细探讨"jquery弹出层特效"这一主题,以及相关文件如何实现这一功能。 首先,标题"jquery弹出层特效"指的是使用jQuery库创建的弹出窗口或模态对话框效果。在网页设计中,弹出层通常用于显示警告信息、用户...
标题“jquery弹出层”暗示我们将会探讨的是如何使用jQuery来实现网页上的弹出层效果,这在网页设计中是非常常见的一种功能,用于显示警告、信息、确认对话框或者复杂的模态窗口。 首先,让我们理解什么是弹出层。弹...
**jQuery图片弹出层框架详解** 在Web开发中,经常需要实现一种效果,即当用户点击图片链接时,图片能够以弹出层的形式全屏展示,这种功能在jQuery库的支持下变得非常简单。"jQuery图片弹出层框架"就是一种实现这种...
标题中的“漂亮的jquery 弹出层”指的是使用jQuery库实现的一种视觉效果良好的弹出窗口功能。在网页设计中,弹出层(也称为模态窗口或对话框)是一种常见的交互元素,用于显示额外的信息、提示用户操作或者进行表单...
《jQuery弹出层框架——便捷美观的dialogs实现》 在Web开发中,用户交互体验是至关重要的一个环节,其中弹出层(popup layer)作为常见的一种交互方式,被广泛应用于消息提示、表单填写、信息展示等场景。jQuery库...
首先,我们要理解jQuery弹出层的基本原理。通常,弹出层是通过CSS定位和JavaScript控制显示与隐藏来实现的。在jQuery中,我们可以利用`.show()`和`.hide()`方法来控制元素的可见性,而`.fadeIn()`和`.fadeOut()`则...
《jQuery弹出层插件深度解析》 在Web开发领域,jQuery库因其简洁的API和强大的功能而广受开发者喜爱。对于用户交互和界面展示,弹出层(Modal)是不可或缺的一部分,它能够吸引用户的注意力并提供额外的信息或操作...
**jQuery弹出层详解** 在Web开发中,弹出层是一种常见的交互元素,用于显示临时信息、用户对话或进行操作确认。本篇文章将深入探讨如何使用jQuery实现弹出层功能,以及相关源码分析和应用工具。 首先,jQuery库...
jQuery弹出层是一种常见的网页交互元素,用于在用户与页面交互时显示额外信息或功能,如提示、对话框、表单、或者加载外部内容。在这个特定的案例中,标题和描述提到的“jQuery弹出层可加载iframe”指的是一个利用...
【jQuery弹出层时尚特效10种】 在Web开发中,弹出层(Modal)是一种常用的交互元素,它能够在用户不离开当前页面的情况下显示额外的信息或功能。jQuery库以其强大的DOM操作和事件处理能力,为创建弹出层特效提供了...
在IT领域,尤其是在Web开发中,"jquery弹出层不关闭 父页面刷新"是一个常见的交互需求。这里,我们主要讨论如何使用jQuery实现这样的功能,即在一个弹出层(通常是一个模态对话框)显示时,用户可以操作父页面而不会...
《jQuery Colorbox弹出层插件:实现图片弹出显示的代码详解》 在Web开发中,为了提供更好的用户体验,我们常常需要实现一种效果:当用户点击某个元素时,图片或者其他内容以弹出层的形式展示出来。jQuery Colorbox...
**jQuery弹出层插件详解** 在Web开发中,弹出层(Popup)是一种常见的交互设计元素,用于显示额外的信息、对话框或者进行特定操作。jQuery作为一款强大的JavaScript库,提供了丰富的插件来实现弹出层功能。本文将...
《jQuery弹出层特效:打造超炫用户体验》 在网页设计和开发中,弹出层是一种常见的交互元素,用于展示信息、提示用户或进行交互操作。jQuery作为一个强大的JavaScript库,为实现这种效果提供了丰富的功能和便利。本...
JQuery 弹出层始终显示在屏幕正中间 在 Web 开发中,弹出层是常见的交互效果,通常用于提示信息、确认操作或显示详细信息。本文将详细介绍如何使用 JQuery 实现弹出层始终显示在屏幕正中间。 首先,需要定义弹出层...
首先,让我们了解jQuery弹出层的基本概念。弹出层通常指的是在用户与页面交互时,如点击按钮或链接,会在当前页面上弹出一个浮动窗口,显示额外的信息或功能。这种效果可以用来展示详细信息、表单、图片等,而不会...
而jQuery UI则是在jQuery基础上扩展的一套交互式用户界面组件库,其中包括一个强大的对话框(Dialog)功能,即“jQuery dialog弹出层”。这个弹出层在网页应用中广泛用于创建模态或非模态警告、提示、确认或者更复杂...