baguetteBox.js 是一款支持移动设备的响应式 lightbox 插件。baguetteBox.js 有纯 javascript 编写,支持响应式图片和 CSS3 动画过渡效果,支持移动手机,压缩后的版本仅 2.7K。baguetteBox.js 插件的特点还有:
同一个页面支持多个 lightbox 实例,互不影响
支持移动触摸设备
支持全屏模式
支持显示图片标题
支持响应式图片
支持 CSS3 过渡动画
按钮使用 SVG,不需要额外的图片
压缩后的版本仅 2.7K
在页面中引入 baguetteBox.js 和 baguetteBox.css 文件。
<link rel="stylesheet" href="path/to/baguetteBox.css">
<script src="path/to/baguetteBox.js"></script>
baguetteBox.js lightbox 图片画廊的基本 HTML 结构如下:
<div class="gallery">
<a href="img/2-1.jpg" data-caption="Image caption">
<img src="img/thumbs/2-1.jpg" alt="First image">
</a>
<a href="img/2-2.jpg">
<img src="img/thumbs/2-2.jpg" alt="Second image">
</a>
...
</div>
如果要使用图片标题,可以在 a 标签上添加 title 或 data-caption 属性。
初始化插件:
在页面 DOM 元素加载完毕,可以通过 run()方法来初始化该 lightbox 插件。其中传入的参数为图片画廊的父容器选择器名称。
baguetteBox.run('.gallery');
你可以在初始化时,在第二个参数中以对象的方式传入配置参数:
baguetteBox.run('.gallery', {
// 配置参数
});
参数 | 类型 | 默认值 | 描述 |
captions | Boolean | function(element) | true | 是否显示图片标题。如果传入的是一个函数,必须返回一个字符串。 |
buttons | Boolean | 'auto' | 'auto' | 是否显示导航按钮。设置为 auto 表示在移动设备或仅有一张图片时隐藏导航按钮。 |
fullScreen | Boolean | false | 是否允许全屏模式。 |
noScrollbars | Boolean | false | 是否在画廊显示时隐藏滚动条。 |
titleTag | Boolean | false | 是否使用图片上的 title 属性作为图片标题。 |
async | Boolean | false | 是否异步加载文件。 |
preload | Number | 2 | 预加载多少个文件。 |
animation | 'slideIn' | 'fadeIn' | false | 'slideIn' | 过渡动画的类型。 |
afterShow | function | null | 显示遮罩层之后的回调函数。 |
afterHide | function | null | 隐藏遮罩层之后的回调函数。 |
onChange | function(currentIndex, imagesCount) | null | 图片改变时的回调函数。 |
overlayBackgroundColor | String | 'rgba(0,0,0,0.8)' | lightbox 遮罩层的背景颜色。 |
filter | RegExp | `/.+.(gif | jpe?g |
baguetteBox.js 插件有 4 个可用的方法:
run:初始化 baguetteBox.js 插件
showNext:切换到下一张图片
showPrevious:切换到前一张图片
destroy:销毁插件和绑定的事件
要使用响应式图片特性,只需要在 a 标签上设置 data-at-{width}属性。其中{width}指的是最大屏幕宽度。例如:
<a href="img/2-1.jpg"
data-at-450="img/thumbs/2-1.jpg"
data-at-800="img/small/2-1.jpg"
data-at-1366="img/medium/2-1.jpg"
data-at-1920="img/big/2-1.jpg">
<img src="img/thumbs/2-1.jpg">
</a>
如果你的屏幕分辨率是 1366x768,那么 baguetteBox.js 插件就会选择"img/medium/2-1.jpg"这张图片来显示。二如果屏幕分辨率是 1440x900,插件会选择"img/big/2-1.jpg"这张图片。href 属性中指定的图片是为了兼容旧的浏览器二设置的一张通用图片。
baguetteBox.js 响应式 lightbox 插件的 github 地址为:https://github.com/feimosi/baguetteBox.js
演示地址 | 下载地址 |
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!