Galleriffic是一个用于创建快速展示相册中照片的jQuery插件。从图一中可以看成,图片既可以以幻灯片的方式查看,也可以手动点击缩略图查看。Galleriffic还支持分页,从而使得它能够展示更多的图片。
▲图片一 Galleriffic图片画廊插件
Galleriffic的主要特点如下:
· Smart image preloading after the page is loaded
· Thumbnail navigation (with pagination)
· jQuery.history plugin integration to support bookmark-friendly URLs per-image
· Slideshow (with optional auto-updating url bookmarks)
· Keyboard navigation
· Events that allow for adding your own custom transition effects
· API for controlling the gallery with custom controls
· Support for image captions
· Flexible configuration
· Graceful degradation when javascript is not available
· Support for multiple galleries per page
下面,我们结合代码,来阐述Galleriffic的工作原理。
1. 下载最新版本的Galleriffic与jQuery。jQuery在1.3.2以上。
2. 在目标HTML代码中引入jQuery库与Galleriffic插件。两者的实现方式均为javascript。
<
head
>
...
<
script type
=
"
text/javascript
"
src
=
"
js/jquery-1.3.2.js
"
></
script
>
<
script type
=
"
text/javascript
"
src
=
"
js/jquery.galleriffic.js
"
></
script
>
<
!
--
Optionally include jquery.history.js
for
history support
-->
<
script type
=
"
text/javascript
"
src
=
"
js/jquery.history.js
"
></
script
>
<
script type
=
"
text/javascript
"
src
=
"
js/jquery.opacityrollover.js
"
></
script
>
...
</
head
>
3. 添加容器元素Div。值得注意的是,这里所有的Div都是可选的。用户可以根据自己的实际情况做出取舍。
<
div id
=
"
controls
"
></
div
>
<
div id
=
"
loading
"
></
div
>
<
div id
=
"
slideshow
"
></
div
>
<
div id
=
"
caption
"
></
div
>
<
div id
=
"
thumbs
"
>
... 这里用来放图片清单…(见步骤4)
</
div
>
4. 建立图片清单列表
<
div id
=
"
thumbs
"
>
<
ul class
=
"
thumbs noscript
"
>
<
li
>
<
a class
=
"
thumb
"
name
=
"
optionalCustomIdentifier
"
href
=
"
path/to/slide
"
title
=
"
your image title
"
>
<
img src
=
"
path/to/thumbnail
"
alt
=
"
your image title again for graceful degradation
"
/>
</
a
>
<
div class
=
"
caption
"
>
(这里用来放标题、描述等信息)
</
div
>
</
li
>
... (接下的就是类似上面的li代码,一个li元素包含一张图片)
</
ul
>
</
div
>
5. 初始化插件
var gallery
=
$(
'
#gallery').galleriffic('#thumbs', {
delay:
3000
//
动画播放间隔时间 numThumbs:
20
//
所要显示的图片数目 preloadAhead:
40
//
设置为
-
1时预加载所有图片 enableTopPager:
false
, enableBottomPager:
true
, imageContainerSel:
'
', // 接下来的三个属性是作为容器的css名
controlsContainerSel:
'
', // The CSS selector for the element within which the slideshow controls should be rendered
captionContainerSel:
'
', // The CSS selector for the element within which the captions should be rendered
loadingContainerSel:
'
', // The CSS selector for the element within which should be shown when an image is loading
renderSSControls:
true
,
//
是否显示播放与暂停按钮 renderNavControls:
true
,
//
是否显示前进后退按钮 playLinkText:
'
Play',
pauseLinkText:
'
Pause',
prevLinkText:
'
Previous',
nextLinkText:
'
Next',
nextPageLinkText:
'
Next ›',
prevPageLinkText:
'
‹ Prev',
enableHistory:
false
,
//
Specifies whether the url
'
s hash and the browser's history cache should update when the current slideshow image changes
autoStart:
false
,
//
是否自动播放 onChange: undefined,
//
接下来是插件的回调函数 onTransitionOut: undefined,
//
accepts a delegate like such:
function
(callback) { ... } onTransitionIn: undefined,
//
accepts a delegate like such:
function
() { ... } onPageTransitionOut: undefined,
//
accepts a delegate like such:
function
(callback) { ... } onPageTransitionIn: undefined
//
accepts a delegate like such:
function
() { ... } });