最近工作项目中有用到这款插件,就查找了一下相关资料和用法,下面是一些基本的简单用法,比较容易掌握,有需要的小伙伴可以参考。:)
FancyBox是一款基于jquery开发的类Lightbox插件。支持对放大的图片添加阴影效果,对于一组相关的图片添加导航操作按纽,该lightbox除了能够展示图片之外,还可以展示iframed内容, 通过css自定义外观。
相对与Lightbox而言,阴影效果更好。但是比Lightbox绚丽。
可以到这里看演示效果:http://www.phpddt.com/demo/fancyBox/demo/index.html
使用方法
1 需要下载jquery--fancybox的文件,可以到这里下载http://fancyapps.com/fancybox/。也可以到我的博客空间的上传文件里找。
2 引入对应的js和css文件
<!--首先要引入jQuery库和fancybox插件库--> <script type="text/javascript" src="../lib/jquery-1.10.1.min.js"></script> <!--FancyBox核心js和css文件:--> <script type="text/javascript" src="../source/jquery.fancybox.js"></script> <link rel="stylesheet" type="text/css" href="../source/jquery.fancybox.css" media="screen" /> <!--如果要实现图片滚轮效果,引入下面文件:--> <script type="text/javascript" src="../lib/jquery.mousewheel-3.0.6.pack.js"></script> <!--如果需要按钮效果,引入按钮css文件:--> <link rel="stylesheet" type="text/css" href="../source/helpers/jquery.fancybox-buttons.css" /> <script type="text/javascript" src="../source/helpers/jquery.fancybox-buttons.js"></script> <!--如果要实现缩略图效果,引入:--> <link rel="stylesheet" type="text/css" href="../source/helpers/jquery.fancybox-thumbs.css" /> <script type="text/javascript" src="../source/helpers/jquery.fancybox-thumbs.js"></script> <!--如果要动态加载媒体,引入:--> <script type="text/javascript" src="../source/helpers/jquery.fancybox-media.js"></script> <!--也可以通过easing插件实现fancy transitions 动画效果--> <script type="text/javascript" src="../source/helpers/jquery.easing.js"></script>
3 创建一个链接元素
a链接的href可以指向图片和地址,a标签也可以包含图片、inline内容、iframe框架,例如
<!--图片--> <a href="...jpg"><img src=""/></a> <a href="http://...."><img src=""/></a> <!--inline内容--> <a href="#data">this shows content of element who has id="data"</a> <!--iframe框架--> <a href="http://www.example?iframe"></a>
4 调用fancybox功能
$(document).ready(function(){ $("a#element").fancybox(); //还可以修改fancybox中的某些参数,去设置自定义效果,例如: $("a#element").fancybox({ 'zoomSpeedIn': 300, 'zoomSpeedOut': 300, 'overlayShow': false }); //或者 $('a.newBtn').each(function(index) { $(this).fancybox({ 'width' : '95%', 'height' : '95%', 'type' : 'iframe', 'hideOnOverlayClick' : false, 'onCleanup' : function() { return confirm('Are you sure to close this dialog?All data will be lost if not save.');}, 'onClosed' : function() { window.location.href = 'index.aspx';} }); }); });
用rel标签来创建相册
<a class="grouped_elements" rel="group1" href="image_big_1.jpg"><img src="image_small_1.jpg" alt=""></a> <a class="grouped_elements" rel="group1" href="image_big_2.jpg"><img src="image_small_2.jpg" alt=""></a> <a class="grouped_elements" rel="group2" href="image_big_3.jpg"><img src="image_small_3.jpg" alt=""></a> <a class="grouped_elements" rel="group2" href="image_big_4.jpg"><img src="image_small_4.jpg" alt=""></a> <script>
$("a.grouped_elements").fancybox();
</script>
5 fancybox中的一些常用参数
padding | 跟css里的padding差不多意思 |
imageScale | 如果为true,则图片会被缩放以适应窗口 |
zoomOpacity | 如果为true,则在动画过程中内容的透明度会改变 |
overlayShow | 如果为true,则显示遮罩,默认为false |
overlayOpacity | 遮罩的透明度,值为0--1 |
centerOnScroll | 值为true的话,当用户滚动页面时,内容会一直居中显示 |
frameWidth/height | iframe和inline框口的默认宽度/高度 |
zoomSpeedIn | zooming-in动画时的速度,单位为毫秒。0的话动画将不会出现 |
zoomSpeedOut | zooming-out动画时的速度,单位为毫秒。0的话动画将不会出现 |
zoomSpeedChange | 切换图片时的动画速度,单位为毫秒。值为0的话将不会出现动画 |
方法
$.fancybox.showActivity 显示加载动画
$.fancybox.hideActivity 隐藏加载动画
$.fancybox.close 关闭窗口
$.fancybox.resize 自动调整窗口的高度使之与内容相适应
6 兼容性
支持最新版本的FireFox, Safari 和 Opera,chrome ,还有 IE6 和 IE7。