这是一款效果非常炫酷的jQueryCSS3图片画廊lightbox插件。该图片画廊插件以幻灯片和Lightbox的形式显示高清大图。当用户点击一张缩略图的时候,该图片会以lightbox特效的方式全屏显示大图。插件中的动画都使用了CSS3过渡效果,并且该插件是响应式的。

使用方法

使用该图片画廊lightbox插件首先要引入jQuery和jquery.mb.browser.js和jquery.mb.CSSAnimate.js文件,以及画廊插件文件jquery.mb.thumbGallery.js和thumbGrid.css文件

<link rel="stylesheet" href="css/thumbGrid.css">
<script src='js/jquery.js'></script>                
<script src='js/jquery.mb.browser.min.js'></script>                
<script src='js/jquery.mb.CSSAnimate.min.js'></script>                
<script src='js/jquery.mb.thumbGallery.min.js'></script>                
              
HTML结构

然后使用一个容器来包裹所需要的图片。在包裹容器和图片上使用HTML5 data属性来指定图片画廊的各种属性。

<div id="thumbGrid"
     data-thumbgrid="true"
     data-effect="scaleIn"
     data-delay="60"
     data-timing="800"
     data-pagination="6"
     data-galleryeffectnext="scaleIn"
     data-galleryeffectprev="scaleOut">

  <img src="img/thumb-1.jpg"
     alt="img01"
     data-highres="large-1.jpg"
     data-caption="Image caption">

  <img src="img/thumb-2.jpg"
     alt="img02"
     data-highres="large-2.jpg"
     data-caption="Image caption">

  <img src="img/thumb-3.jpg"
     alt="img03"
     data-highres="large-3.jpg"
     data-caption="Image caption">

...

</div>              
              

上面所有的data属性也可以在插件初始化的时候作为参数来初始化该图片画廊。上面的data属性都比较简单,通过名称就可以知道它的作用。

初始化插件

在页面加载完毕之后,通过下面的方法来加载该插件。

jQuery("[data-thumbgrid]").thumbGrid();                
              

配置参数

下面是该图片放大镜插件的默认配置参数:

defaults: {
  nav_effect         : "slideLeft",
  nav_delay          : 60,
  nav_timing         : 800,
  nav_pagination     : 6,
  gallery_effectnext : "slideRight",
  gallery_effectprev : "slideLeft",
  gallery_timing     : 500,
  gallery_cover      : true,
  gallery_fullscreenw: "100%",
  gallery_fullscreenh: "100%"
}                
              

下面是图片画廊的默认CSS3动画过渡效果:

transitions: {
  fade        : {in: {opacity: 0}, out: {opacity: 0}},
  slideUp     : {in: {opacity: 0}, out: {y: -200, opacity: 0}},
  slideDown   : {in: {opacity: 0}, out: {y: 200, opacity: 0}},
  slideLeft   : {in: {opacity: 0}, out: {x: -200, opacity: 0}},
  slideRight  : {in: {opacity: 0}, out: {x: 200, opacity: 0}},
  slideInverse: {in: {y: 200, opacity: 0}, out: {y: 200, opacity: 0}},
  zoomIn      : {in: {scale: .5, opacity: 0}, out: {scale: 2, opacity: 0}},
  zoomOut     : {in: {scale: 2, opacity: 0}, out: {scale: .1, opacity: 0}},
  rotate      : {in: { opacity: 0}, out: {rotate: 179, opacity: 0}}
}