jquery插件:fancybox

Fancybox是一款用于网页的灯箱插件,支持多种内容展示形式,如图片、HTML文本、Flash动画等,并可自定义播放器的CSS样式及动画效果。本文详细介绍了Fancybox的使用方法及API配置选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fancybox的特点如下:

  1. 可以支持图片、html文本、flash动画、iframe以及ajax的支持
  2. 可以自定义播放器的CSS样式
  3. 可以以组的形式进行播放
  4. 如果将鼠标滚动插件(mouse wheel plugin)包含进来的话Fancybox还能支持鼠标滚轮滚动来翻阅图片
  5. Fancybox播放器支持投影,更有立体的感觉

使用方法:

1、引入jquery核心库和Fancybox插件库

 

1
2
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="/fancybox/jquery.fancybox-1.3.4.pack.js"></script>

可选 - 如果需要用到fancy transition(一些动画效果)你还需要引入以下脚本

 

 

1
<script type="text/javascript" src="/fancybox/jquery.easing-1.4.pack.js"></script>

可选 - 如果需要支持鼠标滚轮滚动效果你还需要引入以下脚本

1
<script type="text/javascript" src="/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>

 

2、添加样式表文件

 

 

1
<link rel="stylesheet" href="/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
 
 
 
以下是一个实现小图缩放效果的例子:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="imagetoolbar" content="no"/>
<title>FancyBox 1.3.1 | Demonstration</title>
<script type="text/javascript" src="js/jquery-1.4.min.js"></script> <!--调用jquery核心库----->
<script type="text/javascript" src="js/jquery.mousewheel-3.0.2.pack.js"></script><!--调用可用鼠标控制的库-->
<script type="text/javascript" src="js/jquery.fancybox-1.3.1.js"></script>
<script type="text/javascript" src="js/pngobject.js"></script> <!--correctly handle PNG transparency in Win IE 5.5 & 6.-->
<link rel="stylesheet" href="style/style.css" type="text/css"/>
<link rel="stylesheet" href="style/jquery.fancybox-1.3.1.css" type="text/css"/>


 

<script type="text/javascript">
$(document).ready(function() {
/**
运行的代码
*/

$("a[rel=example_group]").fancybox({
'transitionIn' : 'fade', //设置动画效果. 可以设置为 'elastic', 'fade' 或 'none'
'transitionOut' : 'fade', //同上
'titlePosition' : 'over', //设置标题显示的位置.可以设置成 'outside', 'inside' 或 'over'
'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { //可以自定义标题的格式
return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
}
});

<!-------------------------------------以下属于测试代码,不在此例子效果实现的代码内------------------------------------>
/*
* 单独设置每个图片或文件的效果
*/

$("a#example1").fancybox({
'titleShow' : true //是否显示标题
});

$("a#example2").fancybox({
'titleShow' : true,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});

$("a#example3").fancybox({
'titleShow' : true,
'transitionIn' : 'none',
'transitionOut' : 'none'
});

$("a#example4").fancybox();

$("a#example5").fancybox({
'titlePosition' : 'outside'
});

$("a#example6").fancybox({
'titlePosition' : 'outside'
});

/*
* 设置id号为various效果
*/

$("#various1").fancybox({
'titlePosition' : 'over',//标题显示的位置
'transitionIn' : 'none',
'transitionOut' : 'none'
});

$("#various2").fancybox();

$("#various3").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'type' : 'iframe'

});

$("#various4").fancybox({
'padding' : 0,
'autoScale' : false, //如果为true,fancybox可以自适应浏览器窗口大小
'transitionIn' : 'none',
'transitionOut' : 'none'

});
});
</script>

 

</head>
<body>
<div id="content">
<h4>jQuery FancyBox 实现点击小图显示大图</h4>
<p>
<a rel="example_group" href="example/4_b.jpg" title="Lorem ipsum dolor sit amet"><img alt="" src="example/4_s.jpg"/></a>

<a rel="example_group" href="example/5_b.jpg" title=""><img alt="" src="example/5_s.jpg"/></a>

<a rel="example_group" href="example/6_b.jpg" title=""><img alt="" src="example/6_s.jpg"/></a>
</p>
<p>
<a rel="example_group" href="example/7_b.jpg" title="Lorem ipsum dolor sit amet"><img alt="" src="example/7_s.jpg"/></a>

<a rel="example_group" href="example/8_b.jpg" title=""><img alt="" src="example/8_s.jpg"/></a>

<a rel="example_group" href="example/9_b.jpg" title=""><img alt="" src="example/9_s.jpg"/></a>
</p>
</div>
<div><p>&nbsp;</p></div>
</body>
</html>

 


Fancybox的API和配置选项说明

属性名默认值简要说明
padding10浏览框内边距,和css中的padding一个意思
margin20浏览框外边距,和css中的margin一个意思
opacityfalse如果为true,则fancybox在动画改变的时候透明度可以跟着改变
modalfalse如果为true,则'overlayShow' 会被设成 'true' , 'hideOnOverlayClick', 'hideOnContentClick', 'enableEscapeButton', 'showCloseButton' 会被设成 'false'
cyclicfalse如果为true,相册会循环播放
scrolling'auto'设置overflow的值来创建或隐藏滚动条,可以设置成 'auto', 'yes', or 'no'
width560设置iframe和swf的宽度,如果 'autoDimensions'为 'false',这也可以设置普通文本的宽度
height340设置iframe和swf的高度,如果 'autoDimensions'为 'false',这也可以设置普通文本的高度
autoScaletrue如果为true,fancybox可以自适应浏览器窗口大小
autoDimensionstrue在内联文本和ajax中,设置是否动态调整元素的尺寸,如果为true,请确保你已经为元素设置了尺寸大小
centerOnScrollfalse如果为true,当你滚动滚动条时,fancybox将会一直停留在浏览器中心
ajax{ }和jquery的ajax调用选项一样
注意: 'error' and 'success' 这两个回调事件会被fancybox重写
swf{wmode: 'transparent'}swf的设置选项
hideOnOverlayClicktrue如果为true则点击遮罩层关闭fancybox
hideOnContentClickfalse如果为true则点击播放内容关闭fancybox
overlayShowtrue如果为true,则显示遮罩层
overlayOpacity0.3遮罩层的透明度(范围0-1)
overlayColor'#666'遮罩层的背景颜色
titleShowtrue如果为true,则显示标题
titlePosition'outside'设置标题显示的位置.可以设置成 'outside', 'inside' 或 'over'
titleFormatnull可以自定义标题的格式
transitionIn, transitionOut'fade'设置动画效果. 可以设置为 'elastic', 'fade' 或 'none'
speedIn, speedOut300fade 和 elastic 动画切换的时间间隔, 以毫秒为单位
changeSpeed300切换时fancybox尺寸的变化时间间隔(即变化的速度),以毫秒为单位
changeFade'fast'切换时内容淡入淡出的时间间隔(即变化的速度)
easingIn, easingOut'swing'为 elastic 动画使用 Easing
showCloseButtontrue如果为true,则显示关闭按钮
showNavArrowstrue如果为true,则显示上一张下一张导航箭头
enableEscapeButtontrue如果为true,则启用ESC来关闭fancybox
onStartnull回调函数,加载内容是触发
onCancelnull回调函数,取消加载内容后触发
onCompletenull回调函数,加载内容完成后触发
onCleanupnull回调函数,关闭fancybox前触发
onClosednull回调函数,关闭fancybox后触发

 

转载于:https://www.cnblogs.com/zhmt/archive/2011/10/06/2200152.html

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({ 'hideOnContentClick': true }); $("p#test3 a").fancybox({ 'zoomSpeedIn': 0, 'zoomSpeedOut': 0, 'overlayShow': 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、付费专栏及课程。

余额充值