提示对话框-纯JS简单实用的响应式Lightbox插件

baguetteBox是一款简单实用的纯js响应式lightbox插件。它支持移动触摸设备,使用CSS3过渡动画效果,兼容IE8浏览器,具有图片响应式的特点。另外它的特点还有:

  • 使用纯JavaScript编写,没有外部依赖。
  • 支持显示多个画廊,允许分别设置它们的参数。
  • 支持移动触摸屏的滑动手势。
  • lightbox的外观时尚美观。
  • 支持图片标题。
  • 响应式图片设计。
  • 动画使用CSS3 transitions平滑过渡。
  • 按钮使用SVG,不用请求图片。
  • 插件压缩后尺寸只有2.3KB。

安装

可以使用npm或bower来安装该插件。

npm install baguettebox.js
bower install baguettebox.js     

使用方法

使用该lightbox插件首先要引入baguetteBox.min.css和baguetteBox.min.js文件。

<link rel="stylesheet" href="css/baguetteBox.min.css">
<script src="js/baguetteBox.min.js" async></script>    
HTML结构

该lightbox插件的html结构使用一个<div>来包裹<a>元素。

<div class="gallery">
    <a href="img/2-1.jpg" data-caption="Image caption"><img src="img/thumbs/2-1.jpg"></a>
    <a href="img/2-2.jpg"><img src="img/thumbs/2-2.jpg"></a>
  ...
</div>     

要使用图片标题,可以在<a>元素添加title属性或data-caption属性。

调用插件

通过下面的方法来初始化该lightbox插件。

baguetteBox.run('.gallery', {
  // Custom options
});     

配置参数

下面是该Lightbox插件的所有可用的配置参数:

{
  captions: true,       // true|false|callback(gallery, element) - Display image captions
                        //   or return from the callback
  buttons: 'auto',      // 'auto'|true|false - Display buttons
  async: false,         // true|false - Load files asynchronously
  preload: 2,           // [number] - How many files should be preloaded from current image
  animation: 'slideIn', // 'slideIn'|'fadeIn'|false - Animation type
  afterShow: null,      // callback - To be run after showing the overlay
  afterHide: null,      // callback - To be run after hiding the overlay
  onChange: null,       // callback(currentIndex, imagesElements.length) - When image changes
  filter: /.+\.(gif|jpe?g|png|webp)/i // RegExp object - pattern to match image files
}     

buttons: 'auto'会在触摸屏设备上隐藏按钮,或只有一副图片被显示的时候隐藏按钮。

公共方法

  • showNext :切换到下一张图片。
  • showPrevious :切换到前一张图片。

两个方法在有图片或无更多图片加载时返回truefalse

响应式图片

要使用响应式图片特性,可以在<a>标签上添加data-at-{width}属性,每个属性值对应一种尺寸的图片。{width}是屏幕可以显示的图片的最大尺寸。插件会选择第一幅大于或等于{width}的图片来展示。最后的data-at-X是用于屏幕大于X使的显示图片。

下面是一个示例:

<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>     

如果你的屏幕分辨率是1366×768,那么插件会选择"img/medium/2-1.jpg"。如果是1400X900,插件则会选择"img/big/2-1.jpg"href属性是作为一个回退在旧的浏览器中显示大图片(如一些高清大图)。

浏览器兼容

  • IE 8+
  • Chrome
  • Firefox 3.6+
  • Opera 12+
  • Safari 5+
  • Sleipnir

在线预览 网盘下载

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论