这是一款支持移动触摸设备的简洁jQuery图片Lightbox插件。该LightBox插件可以在移动手机和桌面设备中运行,它具有响应式,预加载图片,键盘支持等特点,非常实用。它的特点还有:

  • 响应式设计
  • 支持滑动触摸
  • 易于安装使用
  • 众多参数设置
  • 支持预加载图片
  • 支持Android, iOs 和 Windows phone
  • 在旧的浏览器中对CSS3过渡效果进行回退
  • 可以使用jQuery1.x或2.x
  • 支持键盘控制

安装

可以通过npm或bower来安装该插件。

npm install simplelightbox
bower install simplelightbox                
              

或下载插件的压缩包,在页面中引入以下文件:

<link href='dist/simplelightbox.min.css' rel='stylesheet' type='text/css'>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="dist/simple-lightbox.js"></script>                
              

使用方法

HTML结构

该lightbox插件的基本HTML结构如下:

<div class="gallery"> 
  <a href="images/image1.jpg" class="big"><img src="images/thumbs/thumb1.jpg" alt="" title="Image" /></a>
  <a href="images/image2.jpg"><img src="images/thumbs/thumb2.jpg" alt="" title=""/></a>
  <a href="images/image3.jpg"><img src="images/thumbs/thumb3.jpg" alt="" title="Beautiful Image"/></a>
  <a href="images/image4.jpg"><img src="images/thumbs/thumb4.jpg" alt="" title=""/></a>
  <div class="clear"></div>
  
  <a href="images/image5.jpg"><img src="images/thumbs/thumb5.jpg" alt="" title=""/></a>
  <a href="images/image6.jpg"><img src="images/thumbs/thumb6.jpg" alt="" title=""/></a>
  <a href="images/image7.jpg" class="big"><img src="images/thumbs/thumb7.jpg" alt="" title=""/></a>
  <a href="images/image8.jpg"><img src="images/thumbs/thumb8.jpg" alt="" title=""/></a>
  <div class="clear"></div>
  
  <a href="images/image9.jpg" class="big"><img src="images/thumbs/thumb9.jpg" alt="" title=""/></a>
  <a href="images/image10.jpg"><img src="images/thumbs/thumb10.jpg" alt="" title=""/></a>
  <a href="images/image11.jpg"><img src="images/thumbs/thumb11.jpg" alt="" title=""/></a>
  <a href="images/image12.jpg"><img src="images/thumbs/thumb12.jpg" alt="" title=""/></a>
  <div class="clear"></div>
  
</div>  
              
初始化插件

在页面DOM元素加载完毕之后,可以通过下面的方法来初始化该Lightbox插件。

var lightbox = $('.gallery a').simpleLightbox(options);               
              

配置参数

参数 类型 默认值 描述
overlay true bool 是否显示遮罩层
spinner true bool 是否显示加载指示器
nav true bool 是否显示左右导航箭头
navText [←‘,’→‘] array 导航箭头文字或HTML标签
captions true bool 是否显示标题
captionSelector 'img' string 如何获取标题,可以在 attr, data 或 text之间选择
captionType 'attr' string 是否显示标题
captionsData title string 从给定的属性或data-title获取标题
close true bool 是否显示关闭按钮
closeText 'X' string 关闭按钮上的文本
showCounter true bool 是否显示当前图片的序号
fileExt png|jpg|jpeg|gif regexp 图片文件类型扩展名的正则表达式
animationSpeed 250 int 幻灯片模式中slide的动画速度
preloading true bool 是否预加载前一张和下一张图片
enableKeyboard true bool 是否允许键盘导航和使用ESC键关闭
loop true bool 是否循环图片
docClose true bool 是否在点击lightbox之外的区域时关闭它
swipeTolerance 50 int swipe多少像素才显示下一张图片
className 'simple-lightbox' string 包裹容器的class名称
widthRatio 0.8 float 图片宽度和屏幕宽度的比例
heightRatio 0.9 float 图片高度和屏幕高度的比例

事件

事件名称 描述
open.simplelightbox 该事件在lightbox打开之前触发
opened.simplelightbox 该事件在lightbox打开之后触发
close.simplelightbox 该事件在lightbox关闭之前触发
closed.simplelightbox 该事件在lightbox关闭之后触发

示例代码

$('.gallery a').on('open.simplelightbox', function () {
  // do something…
});  

公共方法

名称 描述
open 通过给定的JQuery元素打开lightbox
close 表格当前打开的Lightbox
next 跳转到下一张图片
prev 跳转到前一张图片
destroy 销毁lightbox实例对象

示例代码:

var gallery = $('.gallery a').simpleLightbox();

gallery.next(); // Next Image