点击小图查看大图jQuery插件FancyBox魔幻灯箱
今日发现一个不错的JQuery插件FancyBox,也许早就有这个插件了,但是没名字,我就暂且叫他魔幻灯箱吧,采用Mac系统的样式。网传主要有以下功能:
■弹出的窗口有很漂亮的阴影效果。
■关联的对象(就是rel标签的值一样)会成组显示,上面还有导航的按钮(上一项,下一项)。
■可以显示图片、内联、ajax和iframe内容。
■可以通过设置参数和CSS定制效果。
■通过easing插件可以实现fancy transitions效果(就是一些动画效果)。
1.可以支持图片、html文本、flash动画、iframe以及ajax的支持
2.可以自定义播放器的CSS样式
3.可以以组的形式进行播放
4.如果将鼠标滚动插件(mouse wheel plugin)包含进来的话Fancybox还能支持鼠标滚轮滚动来翻阅图片
5.Fancybox播放器支持投影,更有立体的感觉
到官网http://fancybox.net/可以看到更多的效果,我迫不及待地下载了代码研究并翻译下。使用还挺方便,点击小图显示大图,背景遮罩,收缩,淡入淡出等效果,弹出的内容不一定是一个图片,也可以是文本,FLASH,一个FRAME,或服务器端某个文件。特别是右上角那个可爱的关闭按钮,我很喜欢。
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<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>魔幻灯箱 1.3.4版 | 示例</title>
<script type="text/javascript" src="http://www.yxccc.com/js/libs/jquery/1.4/jquery.min.js"></script>
<script>
!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');
</script>
<!--调用可用鼠标控制的库-->
<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" href="style.css" />
<script type="text/javascript">
$(document).ready(function() { //显示单个图片例子
$("a#example1").fancybox(); $("a#example2").fancybox({
'overlayShow' : false, //不显示遮罩层,即背景不变暗
'transitionIn' : 'elastic', //设置显示图片的动画效果为收缩
'transitionOut' : 'elastic' //设置关闭图片的动画效果为收缩
}); $("a#example3").fancybox({
'transitionIn' : 'none', //不设置动画效果,
'transitionOut' : 'none' //动画效果有三种形式:elastic(收缩),fade(淡入淡出),none(无)
}); $("a#example4").fancybox({
'opacity' : true,
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'none'
}); $("a#example5").fancybox(); $("a#example6").fancybox({
'titlePosition' : 'outside',//标题在弹出对话框的外侧
'overlayColor' : '#000', //遮罩层的背景颜色
'overlayOpacity' : 0.9 //遮罩层(背景)的透明度,0则背景无变化,1则背景为黑色
}); $("a#example7").fancybox({
'titlePosition': 'inside' //标题在弹出对话框的内侧,显示图片的下面
}); $("a#example8").fancybox({
'titlePosition': 'over' //标题浮动在图片上
}); //显示一组图片例子,鼠标在图片上时可以显示上一张下一张导航箭头
$("a[rel=example_group]").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'titlePosition' : 'over',
'titleFormat': function(title, currentArray, currentIndex, currentOpts) { //以【Image 1/4 图片标题内容】形式显示,如果图片没设置title则不显示图片标题内容
return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / '
+ currentArray.length + (title.length ? ' ' + title : '') + '</span>';
}
}); //其他各种应用例子
$("#various1").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none'
}); $("#various2").fancybox(); $("#various3").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
}); $("#various4").fancybox({
'padding' : 0,
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
</script>
</head>
<body>
<div id="content">
<h1>魔幻灯箱<span>1.3.4版示例 <a href="http://fancybox.net">官方主页</a></span></h1>
<p>
不同的动画效果<br />
<a id="example1" href="http://www.yxccc.com/uploads/allimg/170329/1-1F3291K6330-L.jpg"><img alt="example1" src="./example/1_s.jpg" /></a>
<a id="example2" href="http://www.yxccc.com/uploads/allimg/170322/1-1F3221134320-L.png" src="./example/2_s.jpg" /></a>
<a id="example3" href="http://www.yxccc.com/uploads/allimg/170405/1-1F4051P0480-L.jpg" /></a>
<a id="example4" href="http://www.yxccc.com/uploads/allimg/170322/1-1F3221134320-L.png"><img class="last" alt="example4" src="./example/4_s.jpg" /></a>
</p>
<p>
不同的标题位置<br />
<a id="example5" href="./example/5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit."><img alt="example4" src="./example/5_s.jpg" /></a>
<a id="example6" href="./example/6_b.jpg" title="Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Vivamus fringilla congue laoreet."><img alt="example5" src="./example/6_s.jpg" /></a>
<a id="example7" href="./example/7_b.jpg" title="Cras neque mi, semper at interdum id, dapibus in leo. Suspendisse nunc leo, eleifend sit amet iaculis et, cursus sed turpis."><img alt="example6" src="./example/7_s.jpg" /></a>
<a id="example8" href="./example/8_b.jpg" title="Sed vel sapien vel sem tempus placerat eu ut tortor. Nulla facilisi. Sed adipiscing, turpis ut cursus molestie, sem eros viverra mauris, quis sollicitudin sapien enim nec est. ras pulvinar placerat diam eu consectetur."><img class="last" alt="example7" src="./example/8_s.jpg" /></a>
</p>
<p>
图片浏览(可以用鼠标或鼠标滚轮来切换图片)<br />
<a rel="example_group" href="./example/9_b.jpg" title="Lorem ipsum dolor sit amet"><img alt="" src="./example/9_s.jpg" /></a>
<a rel="example_group" href="./example/10_b.jpg" title=""><img alt="" src="./example/10_s.jpg" /></a>
<a rel="example_group" href="./example/11_b.jpg" title=""><img alt="" src="./example/11_s.jpg" /></a>
<a rel="example_group" href="./example/12_b.jpg" title=""><img class="last" alt="" src="./example/12_s.jpg" /></a>
</p>
<p>
其他各种应用示例
</p>
<ul>
<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">显示一个隐藏的DIV</a></li>
<li><a id="various2" href="ajax.txt">用Ajax显示ajax.txt里的内容</a></li>
<li><a id="various3" href="http://baidu.com">在Iframe框架里显示内容</a></li>
<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">显示FLASH动画</a></li>
</ul>
<div style="display: none;">
<div id="inline1" style="width:400px;height:200px;overflow:auto;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc.
</div>
</div>
Ajax例子需要运行到WEB服务器才能看到效果<br />
Photo Credit: <a href="http://www.flickr.com/people/kharied/">Katie Harris</a>
</div>
</body>
</html>
运行效果如下:

补充:Fancybox的API和配置选项说明
|
属性名 |
默认值 |
简要说明 |
|---|---|---|
|
padding |
10 |
浏览框内边距,和css中的padding一个意思 |
|
margin |
20 |
浏览框外边距,和css中的margin一个意思 |
|
opacity |
false |
如果为true,则fancybox在动画改变的时候透明度可以跟着改变 |
|
modal |
false |
如果为true,则'overlayShow' 会被设成 'true' , 'hideOnOverlayClick', 'hideOnContentClick', 'enableEscapeButton', 'showCloseButton' 会被设成 'false' |
|
cyclic |
false |
如果为true,相册会循环播放 |
|
scrolling |
'auto' |
设置overflow的值来创建或隐藏滚动条,可以设置成 'auto', 'yes', or 'no' |
|
width |
560 |
设置iframe和swf的宽度,如果 'autoDimensions'为 'false',这也可以设置普通文本的宽度 |
|
height |
340 |
设置iframe和swf的高度,如果 'autoDimensions'为 'false',这也可以设置普通文本的高度 |
|
autoScale |
true |
如果为true,fancybox可以自适应浏览器窗口大小 |
|
autoDimensions |
true |
在内联文本和ajax中,设置是否动态调整元素的尺寸,如果为true,请确保你已经为元素设置了尺寸大小 |
|
centerOnScroll |
false |
如果为true,当你滚动滚动条时,fancybox将会一直停留在浏览器中心 |
|
ajax |
{ } |
和jquery的ajax调用选项一样 |
|
swf |
{wmode: 'transparent'} |
swf的设置选项 |
|
hideOnOverlayClick |
true |
如果为true则点击遮罩层关闭fancybox |
|
hideOnContentClick |
false |
如果为true则点击播放内容关闭fancybox |
|
overlayShow |
true |
如果为true,则显示遮罩层 |
|
overlayOpacity |
0.3 |
遮罩层的透明度(范围0-1) |
|
overlayColor |
'#666' |
遮罩层的背景颜色 |
|
titleShow |
true |
如果为true,则显示标题 |
|
titlePosition |
'outside' |
设置标题显示的位置.可以设置成 'outside', 'inside' 或 'over' |
|
titleFormat |
null |
可以自定义标题的格式 |
|
transitionIn, transitionOut |
'fade' |
设置动画效果. 可以设置为 'elastic', 'fade' 或 'none' |
|
speedIn, speedOut |
300 |
fade 和 elastic 动画切换的时间间隔, 以毫秒为单位 |
|
changeSpeed |
300 |
切换时fancybox尺寸的变化时间间隔(即变化的速度),以毫秒为单位 |
|
changeFade |
'fast' |
切换时内容淡入淡出的时间间隔(即变化的速度) |
|
easingIn, easingOut |
'swing' |
为 elastic 动画使用 Easing |
|
showCloseButton |
true |
如果为true,则显示关闭按钮 |
|
showNavArrows |
true |
如果为true,则显示上一张下一张导航箭头 |
|
enableEscapeButton |
true |
如果为true,则启用ESC来关闭fancybox |
|
onStart |
null |
回调函数,加载内容是触发 |
|
onCancel |
null |
回调函数,取消加载内容后触发 |
|
onComplete |
null |
回调函数,加载内容完成后触发 |
|
onCleanup |
null |
回调函数,关闭fancybox前触发 |
|
onClosed |
null |
回调函数,关闭fancybox后触发 |
点击小图查看大图jQuery插件FancyBox魔幻灯箱的更多相关文章
- jquery层居中,点击小图查看大图,弹出层居中代码,顶部层固定不动,滚动条滚动情况
jquery层居中,点击小图查看大图,弹出层居中代码 http://www.cnblogs.com/simpledev/p/3566280.html 见第一版,发现一个情况,如果页面内容多出一屏的情况 ...
- jquery层居中,点击小图查看大图,弹出层居中代码
1.层居中 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- android开发:点击缩略图查看大图
android中点击缩略图查看大图的方法一般有两种,一种是想新浪微博list页面那样,弹出一个窗口显示大图(原activity为背景).另一种就是直接打开一个新的activity显示大图. 1.第一种 ...
- 点击图片查看大图(纯js)
$(function(){ $(".pimg").click(function(){ var _this = $(this);//将当前的pimg元素作为_this传入函数 img ...
- [原创]WKWebview点击图片查看大图
大家都知道,WKWebview是没有查看大图的属性或者方法的,所以只能通过js与之交互来实现这一功能,原理:通过js获取页面的图片,把它存放到数组,给图片添加点击事件,通过index显示大图就行了 其 ...
- WKWebview点击图片查看大图
大家都知道,WKWebview是没有查看大图的属性或者方法的,所以只能通过js与之交互来实现这一功能,原理:通过js获取页面的图片,把它存放到数组,给图片添加点击事件,通过index显示大图就行了 其 ...
- jQuery插件——imgbox(点击图片查看大图)
需要的资源: 需要对应的js代码和css样式,大家可以通过www.htmldrive.net平台下载,也可以在我文章的底部下载.对应的资源如下,将资源引入页面(别忘了JQuery): 注意:jQuer ...
- iOS点击cell查看大图,点击大图还原小图-b
一.项目需求 用collectionView展示很多照片,点击某个照片,用全屏scrollView无限循环的方式查看图片.点击放大的图片,图片缩小到原先的尺寸. 如图gif1.gif所示,点击中间的图 ...
- jquery图片播放插件Fancybox(灯箱)
效果预览Demo源码下载 Fancybox的特点如下: 可以支持图片.html文本.flash动画.iframe以及ajax的支持 可以自定义播放器的CSS样式 可以以组的形式进行播放 如果将鼠标滚动 ...
随机推荐
- (转)Jmeter http请求之content-type
原文传送门:http://www.cnblogs.com/dinghanhua/p/5646435.html 第一部分:目前工作中涉及到的content-type 有三种: content-type: ...
- Hadoop源码分析(mapreduce.lib.partition/reduce/output)
Map的结果,会通过partition分发到Reducer上.Reducer做完Reduce操作后,通过OutputFormat,进行输出.以下我们就来分析參与这个过程的类. Mapper的结果, ...
- 观察者模式及c++实现
观察者模式概念:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,全部依赖于它的对象都得到通知并自己主动更新."Define a one-to-many dependenc ...
- Hibernate的应用与注解开发
Hibernate注解可以帮助我们大大简化hbm映射文件的配置,学习记录之. 先看示例: 1 package com.webShop.domain; 2 import java.io.Serializ ...
- css学习之LInk & import
一.用link加载外部样式表 1.放置位置:放在head元素中 2.样式表中只能包含样式规则,不能包含其他标记语言.如出现了标记,会导致其中一部分或全部被忽略. 3.type = 'text/css' ...
- 20155321 《信息安全系统设计》Linux多线程的深入学习
再次学习之多线程 基本概念的再次学习 线程是程序执行的最小单位(进程是资源管理的最小单位),线程隶属于某个进程中 进程有自己的数据段.代码段和堆栈段.线程通常叫做轻型的进程,每个线程共享其所附属进程的 ...
- 【转】numpy教程
[转载说明] 本来没有必要转载的,只是网上的版本排版不是太好,看的不舒服.所以转过来,重新排版,便于自己查看. 基础篇 NumPy的主要对象是同种元素的多维数组. 这是一个所有的元素都是一种类型.通过 ...
- DB异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间
一,RECOVERY PENDING状态 今天修改了SQL Server的Service Account的密码,然后重启SQL Server的Service,发现有db处于Recovery Pendi ...
- 在Docker中安装和部署MongoDB集群
此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.doc ...
- 微信小程序——手把手教你写一个微信小程序
前言 微信小程序年前的跳一跳确实是火了一把,然后呢一直没有时间去实践项目,一直想搞但是工作上不需要所以,嗯嗯嗯嗯嗯emmmmm..... 需求 小程序语音识别,全景图片观看,登录授权,获取个人基本信息 ...