这是一款支持移动触摸设备的简洁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