lightgallery.js是一款纯JavaScript轻量级响应式lightbox插件。该Lightbox插件支持图片,视频,iframe等多种媒体。支持全屏,导航,缩放,下载等功能,还支持多种动画过渡效果。lightgallery.js的特点还有:
完全响应式设计。
内置插件的模块化体系结构。
支持移动触摸设备。
桌面设备中可以通过鼠标拖拽来切换。
鼠标双击可以查看原尺寸的大图。
缩略图带动画特效。
支持各种视频。
支持20多种硬件加速的CSS3过渡动画。
支持动态加载模式。
支持全屏模式。
支持图片的缩放。
支持HTML5 history API。
响应式图片。
支持HTML iframe。
同一个页面支持多个实例。
智能加载图片及代码优化。
桌面设备支持键盘导航。
支持字体图标。
安装
可以通过npm和bower来安装lightgallery.js插件。
bower install lightgallery.js --save npm install lightgallery.js
使用方法
在页面中引入lightgallery.css和lightgallery.min.js文件。如果你需要某项功能可以单独引入相关文件,如全屏功能引入lg-fullscreen.min.js,缩略图功能引入lg-thumbnail.min.js等。
<link rel="stylesheet" href="css/lightgallery.css"> <script src="js/lightgallery.min.js"></script> <script src="js/lg-thumbnail.min.js"></script> <script src="js/lg-fullscreen.min.js"></script> ...
HTML结构
建议使用下面的HTML结构来构建一个图片画廊。
<div id="lightgallery"> <a href="img/img1.jpg"> <img src="img/thumb1.jpg"> </a> <a href="img/img2.jpg"> <img src="img/thumb2.jpg"> </a> ... </div>
你可以查看这里来获取其它HTML结构的使用方法。
初始化插件
在页面底部通过下面的方法来初始化该lightbox插件。
<script> lightGallery(document.getElementById('lightgallery')); </script>
配置参数
核心配置参数
参数 | 类型 | 默认值 | 描述 |
mode | string | 'lg-slide' | 图片过渡的动画类型。可用的动画有:'lg-slide' 、'lg-fade' 、'lg-zoom-in' 、'lg-zoom-in-big' 、'lg-zoom-out' 、'lg-zoom-out-big' 、'lg-zoom-out-in' 、'lg-zoom-in-out' 、'lg-soft-zoom' 、'lg-scale-up' 、'lg-slide-circular' 、'lg-slide-circular-vertical' 、'lg-slide-vertical' 、'lg-slide-vertical-growth' 、'lg-slide-skew-only' 、'lg-slide-skew-only-rev' 、'lg-slide-skew-only-y' 、'lg-slide-skew-only-y-rev' 、'lg-slide-skew' 、'lg-slide-skew-rev' 、'lg-slide-skew-cross' 、'lg-slide-skew-cross-rev' 、'lg-slide-skew-ver' 、'lg-slide-skew-ver-rev' 、'lg-slide-skew-ver-cross' 、'lg-slide-skew-ver-cross-rev' 、'lg-lollipop' 、'lg-lollipop-rev' 、'lg-rotate' 、'lg-rotate-rev' 、'lg-tube'
|
cssEasing | string | 'ease' | easing过渡动画类型。 |
speed | number | 600 | 过渡动画的持续时间。单位毫秒。 |
height | string | '100%' | 图片画廊的高度。 |
width | string | '100%' | 图片画廊的宽度。 |
addClass | string | '' | 为画廊添加自定义的class。 |
startClass | string | 'lg-start-zoom' | 画廊的开始动画类型。 |
backdropDuration | number | 150 | Lightgallery backdrop transtion duration |
hideBarsDelay | number | 6000 | 隐藏图片画廊控制按钮的延迟时间,单位毫秒。 |
useLeft | boolean | false | 强制lightgallery使用left 属性来代替transform。 |
closable | boolean | true | 允许用户点击暗处关闭图片画廊。 |
loop | boolean | true | 是否循环播放。 |
escKey | boolean | true | 是否允许通过"Esc"键来关闭图片画廊。 |
keyPress | boolean | true | 是否允许键盘导航。 |
controls | boolean | true | 是否显示前后导航按钮。 |
slideEndAnimatoin | bolean | true | 是否允许slideEnd 动画。 |
hideControlOnEnd | boolean | false | 如果设置为false,第一幅和最后一幅图片不显示前后导航按钮。 |
getCaptionFromTitleOrAlt | boolean | true | 从图片的alt或title标签获取图片描述信息。 |
appendSubHtmlTo | string | '.lg-sub-html' | 指定添加sub-html:'.lg-sub-html' 或 '.lg-item' 。 |
subHtmlSelectorRelative | boolean | false | 如果使用"data-sub-html"选择器作为当前项目的源,设置为true。 |
preload | number | 1 | 预加载slider的数量。 |
showAfterLoad | boolean | true | 是否在完全加载后显示内容。 |
selector | string | '' | 自定义选择器来替代子元素。 |
selectWithin | string | '' | By default selectror element is taken from only inside the gallery element. Instead of that you can tell lightgallery to select element within a specific |
nextHtml | string | '' | Next按钮的html标记。 |
prevHtml | string | '' | Prev按钮的html标记。 |
index | number | 0 | 设置被立刻加载的图片/视频的索引。 |
iframeMaxWidth | string | '100%' | 设置iframe的最大宽度。 |
download | boolean | true | 是否使用下载按钮。 |
counter | boolean | true | 是否显示图片的总数和当前图片的索引。 |
appendCounterTo | string | '.lg-toolbar' | 指定被添加的计数器。 |
swipeThreshold | number | 50 | 触摸滑动的阈值。 |
enableDrag | boolean | true | 在桌面设备是否允许鼠标拖动。 |
enableTouch | boolean | true | 是否允许移动触摸。 |
dynamic | boolean | false | 通过编程的方式动态调用插件。 |
dynamicEl | array | [] | 代表画廊元素的数组。 |
更多的配置参数请参考https://sachinchoolur.github.io/lightgallery.js/docs/api.html
lightgallery.js插件的github地址为https://github.com/sachinchoolur/lightgallery.js
版权声明
版权说明: 仅限用于学习和研究目的;不得将上述内容用于商业和非法用途!否则一切后果自负。我们非常重视版权问题,如有侵权请邮件至(171373236#qq.com)与我们联系处理,敬请谅解!