JQuery Fancybox 使用整理

本文介绍了一个采用Mac系统样式的jQuery fancyBox插件,它能实现图片、内联、Ajax和iframe内容的展示,并提供丰富的自定义选项和动画效果。通过简单的步骤和配置,用户可以轻松地在项目中集成这一插件,增强用户体验。
jquery fancybox hideOnContentClick

又一个实现Lightbox效果的jQuery插件,不过采用了Mac系统的样式。它主要有以下功能:

  • 弹出的窗口有很漂亮的阴影效果。
  • 关联的对象(就是rel标签的值一样)会成组显示,上面还有导航的按钮(上一项,下一项)。
  • 可以显示图片、内联、ajax和iframe内容。
  • 可以通过设置参数和CSS定制效果。
  • 通过easing插件可以实现fancy transitions效果(就是一些动画效果)。

用法

1.引入必须的js库

<script type="text/javascript" src="path-to-file/jquery.js"></script> <script type="text/javascript" src="path-to-file/jquery.fancybox.js"> </script>

如果要使用一些动画效果,还要引入以下js

<script type="text/javascript" src="path-to-file/jquery.easing.js"> </script>

2.导入CSS文件,由于CSS里使用的图片默认跟CSS是放在同一个目录下的,所以如果你的CSS跟图片分开放,记得修改CSS里的图片路径。

<link rel="stylesheet" href="path-to-file/fancybox.css" type="text/css" media="screen">

3.创建一个链接元素
图片

<a id="single_image" href="image_big.jpg"><img src="image_small.jpg" alt=""/></a>

inline内容

<a id="inline" href="#data">This shows content of element who has id="data"</a>

iframe框架

<a href="http://www.example?iframe">This goes to iframe</a> <!--or--> <a class="iframe" href="http://www.example">This goes to iframe</a>

Ajax

<a href="http://www.example/data.php">This takes content using ajax</a>

可选项:如果要显示标题,可以通过设置a里的title属性实现。
注意:如果显示的为iframe或者inline内容而且在他们里面包含有可以点击的对象,那么把hideOnContentClick属性设为false,不然那个点击就会跟hideOnContentClick这个效果冲突了。
4.使用jQuery选择器调用功能。
例如:

$(document).ready(function() {     $("a#single_image").fancybox();     $("a#inline").fancybox({ 'hideOnContentClick': true });   $("a.group").fancybox({ 'zoomSpeedIn': 300, 'zoomSpeedOut': 300, 'overlayShow': false }); });

相册效果需要把同一个相册的相片的"rel"属相设为一样的值。

参数

padding跟CSS里的padding差不多一个意思
imageScale如果为true,则图片会被缩放以适应窗口
zoomOpacity如果为true,则在动画过程中内容的透明度会改变
zoomSpeedInzooming-in动画时的速度,单位为毫秒。0的话动画将不会出现
zoomSpeedOutzooming-out动画时的速度,单位为毫秒。0的话动画将不会出现
zoomSpeedChange切换图片时的动画速度,单位为毫秒。值为0的话将不会出现动画
easingIn, easingOut, easingChange决定动画使用何种easing效果
frameWidthiframe和inline框口的默认宽度
frameWidthiframe和inline框口的默认宽度
frameHeightiframe和inline框口的默认高度
overlayShow如果值为true的话,则显示遮罩,默认为false。遮罩的颜色可以在CSS里定义
overlayOpacity遮罩的透明度。值为0到1.
hideOnContentClick值为true的话,则在点击Fancybox对象时,Fancybox会被隐藏
centerOnScroll值为true时,当用户滚动页面时,内容会一直居中显示
itemArray可选项,可以设置自定义数组(事实上我还不知道用来干嘛的= =有空再研究下代码)
callbackOnStart可选项,在Fancybox启动时会被调用
callbackOnShow可选项,在Fancybox显示内容时会被调用
callbackOnClose可选项,在Fancybox关闭时会被调用

兼容性

支持最新版本的FireFox, Safari 和 Opera ,还有 IE6 和 IE7。另外稍微测试了下,Chrome也支持。

下载

请到Google Code下载。文件包含了Fancybox这个插件以及实例。另外jQuery和easing这个插件也包含在里面。

FAQ

1.根本就运行不了。图片在新的窗口打开了。出了虾米错?
检查下你是否已经导入了所有的文件以及设置正不正确。
2.Fancybox可以在flash内容上面显示吗?
可以。看这里
3.可以在iframe里调用代码吗?
因为Fancybox这个插件是依附在页面body上的,所以不能这样调用。如有需要请修改Fancybox的代码。
4.有没有Wordpress上可以使用的插件?
有一些,你可以试试这个
5.怎样在其他元素上关闭Fancybox?
调用$.fn.fancybox.close()就行了。

以上内容基本都来自或者翻译自官网http://fancybox.net/
这个东西其实在很早前就被我运用于项目了,当时还是1.0版本左右,后来作者很久没更新了,直到jQuery出了1.3后作者立刻就出了新版本了~

通过函数调用$("#acl_link").fancybox({'hideOnContentClick': false}).click();
'hideOnContentClick': false 点击不关闭,可用于ajax页面

 

How to use 1. Setup Include nessesary JS files (FancyBox uses pngFix to fix IE png transparency). --------------------------- /* required */ <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.fancybox.js"></script> /* optional */ <script type="text/javascript" src="js/jquery.pngFix.js"></script> <script type="text/javascript" src="js/jquery.metadata.js"></script> -------------------------------------------- Include FancyBox CSS file. Dont forget to change image paths. -------------------------------------------- <link rel="stylesheet" href="css/fancybox.css" type="text/css" media="screen"> -------------------------------------------- 2. Add your images Add images and wrap them with a link to the zoomed version -------------------------------------------- <a href="image_big.jpg"><img src="image_small.jpg" alt=""/></a> -------------------------------------------- Optional: Use the title attribute if you want to show a caption Optional: Use the rel attribute to group images 3. Use the plugin Sample examples: -------------------------------------------- $(document).ready(function() { $("p#test1 a").fancybox(); $("p#test2 a").fancybox({ &#39;hideOnContentClick&#39;: true }); $("p#test3 a").fancybox({ &#39;zoomSpeedIn&#39;: 0, &#39;zoomSpeedOut&#39;: 0, &#39;overlayShow&#39;: true }); }); ------------------------------------------- Available options hideOnContentClick Hides FancyBox when cliked on zoomed item (false by default) zoomSpeedIn Speed in miliseconds of the zooming-in animation (no animation if 0) zoomSpeedOut Speed in miliseconds of the zooming-out animation (no animation if 0) frameWidth Default width for iframed and inline content frameHeight Default height for iframed and inline content overlayShow If true, shows the overlay (false by default) overlayOpacity Opacity of overlay (from 0 to 1) itemLoadCallback Custom function to get group items (see example on this page source) Comments
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值