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