GLightbox是一款支持移动手机的纯js lightbox插件。GLightbox可以支持图片,视频,内联内容和iframes等,非常强大。
使用方法
在页面中引入glightbox.css和glightbox.js文件。
<link href="glightbox.css" rel="stylesheet">
<script src="glightbox.js" type="text/javascript"></script>
HTML结构
使用时,可以在页面中先放置一组缩略图,通过点击缩略图来弹出lightbox。例如:
<ul class="box-container three-cols">
<li class="box">
<a href="demo/img/large/gm1.jpg" class="glightbox">
<img src="demo/img/small/gm1.jpg">
</a>
</li>
<li class="box">
<a href="demo/img/large/gm2.jpg" class="glightbox">
<img src="demo/img/small/gm2.jpg" alt="image">
</a>
</li>
<li class="box">
<a href="demo/img/large/gm3.jpg" class="glightbox manuelin">
<img src="demo/img/small/gm3.jpg" alt="image">
</a>
</li>
<li class="box">
<a href="demo/img/large/gm4.jpg" class="glightbox">
<img src="demo/img/small/gm4.jpg" alt="image">
</a>
</li>
</ul>
初始化插件
在页面DOM元素加载完毕之后,可以通过GLightbox()方法来完成对该Lightbox插件的初始化。默认带glightbox class的元素在点击后会弹出lightbox。
var lightbox = GLightbox();
配置参数
GLightbox插件的可用配置参数如下:
| 参数 | 描述 | 默认值 |
| selector | lightbox选择器。 | glightbox |
| skin | lightbox的皮肤名称。它会为lightbox添加一个class类,你可以通过这个class类来添加自己的样式。 | clean |
| openEffect | lightbox打开时的动画效果。可选值有:zoomIn, fade, zoom。 | zoomIn |
| closeEffect | lightbox关闭时的动画效果。可选值有:zoomOut, fade, zoom。 | zoomOut |
| slideEffect | lightbox切换时的动画效果。可选值有:fade, slide, zoom。 | slide |
| moreText | 在移动设备上的描述文本。 | "See more" |
| closeButton | 是否显示关闭按钮。 | true |
| startAt | lightbox初始化时显示哪个图片或其它内容。 | 0 |
| width | 内联内容或 iframes 的宽度。 | 900 |
| height | 内联内容或 iframes 的高度。 | 506 |
| videosWidth | 视频的宽度。 | 900 |
| videosHeightDefault | 视频的高度。 | 506 |
| descPosition | lightbox描述信息的位置。 | bottom |
| loopAtEnd | 是否在终点结束循环。 | false |
| onOpen | lightbox打开时的回调函数。 | null |
| onClose | lightbox关闭时的回调函数。 | null |
| beforeSlideChange | 在lightbox切换前触发的回调函数。 beforeSlideChange: function(prevSlide, slide){console.log(slide);} |
null |
| afterSlideChange | 在lightbox切换后触发的回调函数。 afterSlideChange: function(prevSlide, activeSlide){console.log(activeSlide);} |
null |
| beforeSlideLoad | 在lightbox加载完成前触发的回调函数。 beforeSlideLoad: function(slide, data){console.log(slide);} |
null |
| afterSlideLoad | 在lightbox加载完成后触发的回调函数。 afterSlideLoad: function(slide, data){console.log(slide);} |
|
| autoplayVideos | 视频在打开时自动播放? | true |
| jwplayer | JW Player的配置。参考下面的JW Player配置。 | 对象 |
| vimeo | vimeo的配置,参考下面的vimeo视频配置。 | 对象 |
| youtube | youtube的配置,参考下面的youtube视频配置。 | 对象 |
JW Player配置:
jwplayer: {
api: "url to jwplayer js file",
licenseKey: "your jwplayer license",
params: {
width: '100%',
aspectratio: '16:9',
stretching: 'uniform',
.....
}
}
vimeo视频配置:
vimeo: {
api: "https://player.vimeo.com/api/player.js",
params: {
api: 1,
title: 0,
byline: 0,
.....
}
}
youtube视频配置:
youtube: {
api: "https://www.youtube.com/iframe_api",
params: {
enablejsapi: 1,
showinfo: 0,
.....
}
}
方法
GLightbox lightbox插件的可用API方法有:
var myLightbox = GLightbox({
'selector': 'glightbox',
......
});
// 跳转到指定的slide
myLightbox.goToSlide(2);
// 前一个slide
myLightbox.prevSlide();
// 下一个slide
myLightbox.nextSlide();
//获取当前激活的slide。它会返回当前激活的slide节点。
myLightbox.getActiveSlide();
// 关闭 lightbox
myLightbox.close();
浏览器兼容
GLightbox插件可以在任何支持Flexbox的浏览器中正常工作。
- Safari
- Mobile Safari
- Opera
- Chrome
- Edge
- Firefox
- Internet Explorer 11
GLightbox lightbox插件的github地址为:https://github.com/mcstudios/glightbox