lightGallery是一款轻便、优雅、灵敏、便于移动的jQueryJavaScript插件,用于在具有CSS3过渡效果的全屏灯箱中显示图像/视频库。
Vanilla JavaScript版本在这里提供。
1.在文档中加载最新版本的jQuery库以及jQuery lightGallery插件的CSS和javascript。
- <link rel="stylesheet" href="/path/to/dist/css/lightgallery.min.css" />
- <script src="/path/to/cdn/jquery.min.js"></script>
- <script src="/path/to/dist/js/lightgallery-all.min.js"></script>
2.或者在文档中加载您选择的核心JavaScript和可选扩展。
- <!-- Core -->
- <script src="/path/to/dist/js/lightgallery.min.js"></script>
- <!-- Autoplay -->
- <script src="/path/to/modules/lg-autoplay.js"></script>
- <!-- Fullscreen -->
- <script src="/path/to/modules/lg-fullscreen.js"></script>
- <!-- Hashtag -->
- <script src="/path/to/modules/lg-hash.js"></script>
- <!-- Pager -->
- <script src="/path/to/modules/lg-pager.js"></script>
- <!-- Rotate -->
- <script src="/path/to/modules/lg-rotate.js"></script>
- <!-- Social share -->
- <script src="/path/to/modules/lg-share.js"></script>
- <!-- Thumbnail -->
- <script src="/path/to/modules/lg-thumbnail.js"></script>
- <!-- HTML5/YOUTUBE/VIMEO Video -->
- <script src="/path/to/modules/lg-video.js"></script>
- <!-- Zoom -->
- <script src="/path/to/modules/lg-zoom.js"></script>
2.使用Html5创建图像/视频库数据-*
属性。
- <ul id="lightGallery" class="gallery">
- <li data-title="Title 1" data-desc="Description 1" data-responsive-src="mobile1.jpg" data-src="img1.jpg"> <a href="#"> <img src="thumb1.jpg" /> </a> </li>
- <li data-title="Title 2" data-desc="Description 2" data-responsive-src="mobile2.jpg" data-src="img2.jpg"> <a href="#"> <img src="thumb2.jpg" /> </a> </li>
- <li data-title="Title 3" data-desc="Description 3" data-responsive-src="mobile3.jpg" data-src="img3.jpg"> <a href="#"> <img src="thumb3.jpg" /> </a> </li>
- ...
- </ul>
3.可用数据-*
属性。
4.使用默认设置初始化多媒体资料灯箱。
- $(document).ready(function() {
- $("#lightGallery").lightGallery();
- });
5.该插件提供了许多选项/回调,可以自定义你的灯箱库。
模式:“lg幻灯片”
:图像之间的转换类型:“lg幻灯片”、“lg淡入淡出”、“1g放大”、“lg-放大大”、“lg缩小大”、-rev’,“lg滑动斜交”、“lg滑梯斜交rev”、“lg-滑动斜交cross”、“lg滑动斜交-ver”、“Ig滑动斜交-ver-rev”,“lg滑梯斜交-ver-cross”,“lg-棒棒糖”,“lg棒棒糖rev”cssEasing:“轻松”
,//“立方体-贝塞尔(0.25,0,0.25,1)”//宽松:“线性”
:CSS“转换定时函数”道具的值。和jQuery.animate()。速度:1000
:转换持续时间(毫秒)。高度和宽度
:走廊的高度和宽度画廊ID:1
:画廊IDaddClass: ''
:为库添加自定义类。startClass:'lg开始缩放'
:启动画廊的动画类。背景持续时间:150
:回流传输持续时间隐藏栏延迟:6000
:-隐藏库控件的延迟,以毫秒为单位。如果通过hideBarsDelay传递0,lightGallery将不会隐藏工具栏和控件。useLeft:错误
:强制lightgallery使用css left属性,而不是转换。ariaLabeled by和ariaDescribed by
:用于无障碍预加载:1
:预加载幻灯片的数量。只有在当前幻灯片完全加载后才会出现。例如://您单击了第4张图像,如果预加载=1,则第4张幻灯片完全加载后,第3张幻灯片和第5张幻灯片将加载到背景中。。如果预加载为2,则第2个、第3个、第5个、第6个滑块将被预加载。showAfterLoad:真
:完全加载后显示内容。选择器:null
:自定义选择器属性不包含子项。索引:false
:允许设置使用dynamicEl时应加载的图像/视频。控件:true
:是否显示上一个/下一个按钮。hideControlOnEnd:错误
:如果为true,上一个/下一个按钮将隐藏在第一个/最后一个图像上。循环:错误
:允许在第一个/最后一个img处转到库的另一端。escKey:真
:当用户按下“Esc”时,是否应关闭lightGallery。按键:true
:启用键盘导航slideEndAnimationin:真
:启用幻灯片结束动画鼠标滚轮:true
:更改鼠标滚轮上的幻灯片getCaptionFromTitleOrAlt: true
:从alt或title标签获取标题的选项。appendSubHtmlTo:真
:您可以指定子html应该附加在哪里。'。“lg-sub-html”或“.lg项”。子Html选择器或相对
:如果“data-sub-html”中的选择器应使用当前项作为其原点,则设置为true。select范围:''
:默认情况下,selectror元素仅取自gallery元素内部。相反,您可以告诉lightgallery选择特定元素中的元素。下一个Html:“”
:下一个控件的自定义html上一个Html:“”
:用于上一个控件的自定义htmliframe最大宽度:“100%”
:设置iframe的最大宽度。下载:true
:启用下载按钮。默认情况下,下载url将取自数据src/href属性,但它仅支持现代浏览器。如果你愿意,你可以通过数据下载网址提供另一个网址供下载。如果你想隐藏特定幻灯片的下载按钮,请在数据下载url中传递false。可关闭:true
:允许点击调光器关闭图库计数器:错误
:显示图像总数和当前图像的索引号。appendCounterTo:'.lg工具栏'
:应附加计数器的位置enableSwipe:真
:启用滑动支持enableDrag:真
:启用桌面鼠标拖动支持刷卡阈值:50
:用户必须滑动下一个/上一个图像的距离(以像素为单位)。动态:错误
:设置为true可基于“dynamicEl”opt中的数据构建库。动态El:[]
:画廊els的对象数组(src、thumb、caption、desc、mobileSrc)。支持合法浏览器
:是否支持旧版浏览器
- $("#lightGallery").lightGallery({
- mode: 'lg-slide',
- // Ex : 'ease'
- cssEasing: 'ease',
- //'for jquery animation'
- easing: 'linear',
- speed: 600,
- height: '100%',
- width: '100%',
- addClass: '',
- startClass: 'lg-start-zoom',
- backdropDuration: 150,
- // Set 0, if u don't want to hide the controls
- hideBarsDelay: 6000,
- useLeft: false,
- // aria-labelledby attribute fot gallery
- ariaLabelledby: '',
- //aria-describedby attribute for gallery
- ariaDescribedby: '',
- closable: true,
- loop: true,
- escKey: true,
- keyPress: true,
- controls: true,
- slideEndAnimatoin: true,
- hideControlOnEnd: false,
- mousewheel: true,
- getCaptionFromTitleOrAlt: true,
- // .lg-item || '.lg-sub-html'
- appendSubHtmlTo: '.lg-sub-html',
- subHtmlSelectorRelative: false,
- /**
- * @desc number of preload slides
- * will execute only after the current slide is fully loaded.
- *
- * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th
- * slide will be loaded in the background after the 4th slide is fully loaded..
- * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...
- *
- */
- preload: 1,
- showAfterLoad: true,
- selector: '',
- selectWithin: '',
- nextHtml: '',
- prevHtml: '',
- // 0, 1
- index: false,
- iframeMaxWidth: '100%',
- download: true,
- counter: true,
- appendCounterTo: '.lg-toolbar',
- swipeThreshold: 50,
- enableSwipe: true,
- enableDrag: true,
- dynamic: false,
- dynamicEl: [],
- galleryId: 1,
- supportLegacyBrowser: true
- });
6.可选扩展的默认选项。
- // autoplay addon
- autoplay: false,
- pause: 5000,
- progressBar: true,
- fourceAutoplay: false,
- autoplayControls: true,
- appendAutoplayControlsTo: '.lg-toolbar'
- // hash addon
- hash: true,
- galleryId: 1,
- // fullscreen addon
- fullScreen: true,
- // pager addon
- pager: false,
- // social share addon
- share: true,
- facebook: true,
- facebookDropdownText: 'Facebook',
- twitter: true,
- twitterDropdownText: 'Twitter',
- googlePlus: true,
- googlePlusDropdownText: 'GooglePlus',
- pinterest: true,
- pinterestDropdownText: 'Pinterest',
- // thumbnail addon
- thumbnail: true,
- animateThumb: true,
- currentPagerPosition: 'middle', // 'left' or 'middle' or 'right'
- thumbWidth: 100,
- thumbContHeight: 100,
- thumbMargin: 5,
- exThumbImage: false,
- showThumbByDefault: true,
- toggleThumb: true,
- pullCaptionUp: true,
- enableThumbDrag: true,
- enableThumbSwipe: true,
- swipeThreshold: 50,
- loadYoutubeThumbnail: true,
- youtubeThumbSize: 1,
- loadVimeoThumbnail: true,
- vimeoThumbSize: 'thumbnail_small', // 'thumbnail_large' or 'thumbnail_medium' or 'thumbnail_small'
- loadDailymotionThumbnail: true,
- // video addon
- videoMaxWidth: '855px',
- autoplayFirstVideo: true,
- youtubePlayerParams: false,
- vimeoPlayerParams: false,
- dailymotionPlayerParams: false,
- vkPlayerParams: false,
- videojs: false, // uses video.js library
- videojsOptions: {},
- // zoom addon
- scale: 1,
- zoom: true,
- actualSize: true,
- enableZoomAfter: 300,
- // rotate addon
- rotate: true,
- rotateLeft: true,
- rotateRight: true,
- flipHorizontal: true,
- flipVertical: true,
7.API方法。
- var $lg = $('#lightgallery');
- $lg.lightGallery();
- // go to the next slide
- $lg.data('lightGallery').goToNextSlide();
- // go to the prev slide
- $lg.data('lightGallery').goToPrevSlide();
- // go to a specific sldie
- $lg.data('lightGallery').slide(3);
8.事件。
- var $lg = $('#lightgallery');
- $lg.lightGallery();
- $lg.on('onBeforeOpen.lg', function(e){
- // do something
- }, false);
- $lg.on('onAfterOpen.lg', function(e){
- // do something
- }, false);
- $lg.on('onAferAppendSlide.lg', function(e){
- // event.detail.index - Index of the slide
- }, false);
- $lg.on('onAfterAppendSubHtml.lg', function(e){
- // event.detail.index - Index of the slide
- }, false);
- $lg.on('onSlideItemLoad.lg', function(e){
- // event.detail.index - Index of the slide
- }, false);
- $lg.on('onBeforeSlide.lg', function(e){
- // event.detail.prevIndex - Index of the previous slide
- // event.detail.index - Index of the slide
- // event.detail.fromTouch - true if slide function called via touch event or mouse drag
- // event.detail.fromThumb - true if slide function called via thumbnail click
- }, false);
- $lg.on('onAfterSlide.lg', function(e){
- // event.detail.prevIndex - Index of the previous slide
- // event.detail.index - Index of the slide
- // event.detail.fromTouch - true if slide function called via touch event or mouse drag
- // event.detail.fromThumb - true if slide function called via thumbnail click
- }, false);
- $lg.on('onBeforePrevSlide.lg', function(e){
- // event.detail.index - Index of the slide
- // event.detail.fromTouch - true if slide function called via touch event or mouse drag
- }, false);
- $lg.on('onBeforeNextSlide.lg', function(e){
- // event.detail.index - Index of the slide
- // event.detail.fromTouch - true if slide function called via touch event or mouse drag
- }, false);
- $lg.on('onDragstart.lg', function(e){
- // do something
- }, false);
- $lg.on('onDragmove.lg', function(e){
- // do something
- }, false);
- $lg.on('onDragend.lg', function(e){
- // do something
- }, false);
- $lg.on('onSlideClick.lg', function(e){
- // do something
- }, false);
- $lg.on('onBeforeClose.lg', function(e){
- // do something
- }, false);
- $lg.on('onCloseAfter.lg', function(e){
- // do something
- }, false);
作者:Sachin
主页:http://sachinchoolur.github.io/lightGallery/
2022-01-12
v1.10.0 (2020-11-07)
v1.9.1测试版(2020-10-29)
2020-09-21
2020-09-19
2016-01-05
2016-01-03
2015-12-30
2015-12-18
2015-12-13
2015-10-03
2015-09-26
2015-09-23
2015-09-08
2015-09-03
2015-08-26
2015-03-30
2015-03-29
2014-11-04
2014-11-03
2014-10-02
2014-09-25
2014-09-17
2014-09-16
2014-09-02
2014-07-22
2014-07-01
2014-06-27
2014-06-13
2014-05-07
2014-04-22
2014-04-11
2014-04-03
2014-04-02
2014-03-27
2014-03-22
2014-03-15
2014-03-06