A customizable, modular, responsive, lightbox gallery plugin.

Overview

travis bower npm

lightGallery

A customizable, modular, responsive, lightbox gallery plugin for jQuery. lightgallery Demo

JQuery lightGallery demo. Codepen demo

Main features

  • Fully responsive.
  • Modular architecture with built in plugins.
  • Touch and support for mobile devices.
  • Mouse drag supports for desktops.
  • Double-click/Double-tap to see actual size of the image.
  • Animated thumbnails.
  • Social sharing.
  • Youtube Vimeo Dailymotion VK and html5 videos Support.
  • 20+ Hardware-Accelerated CSS3 transitions.
  • Dynamic mode.
  • Full screen support.
  • Supports zoom.
  • Browser history API.
  • Responsive images.
  • HTML iframe support.
  • Multiple instances on one page.
  • Easily customizable via CSS (SCSS) and Settings.
  • Smart image preloading and code optimization.
  • Keyboard Navigation for desktop.
  • Font icon support.
  • Accessibility support.
  • Rotate, flip images.
  • And many more.

Browser support

lightgallery supports all major browsers including IE 8 and above.

Installation

Install with NPM

You can install lightgallery using the npm package manager.

npm install lightgallery

Or Install all modules together

$ npm install lightgallery lg-thumbnail lg-autoplay lg-video lg-fullscreen lg-pager lg-zoom lg-hash lg-share lg-rotate

You can also find lightgallery on Yarn and Bower.

Yarn

yarn add lightgallery

Bower

bower install lightgallery --save

Download from Github

You can also directly download lightgallery from github.

CDN

If you prefer to use a CDN you can load files via jsdelivr or cdnjs

Here is the jsdelivr collection of lightGallery and its modules.

Include CSS and Javascript files

First of all add lightgallery.css in the <head> of the document.

<head>
    <link type="text/css" rel="stylesheet" href="css/lightGallery.css" /> 
</head>

Then include jQuery and lightgallery.min.js into your document. If you want to include any lightgallery plugin you can include it after lightgallery.min.js. lightGallery and it's plugins are available in lightgallery-all.js

<body>
    ....

    <!-- jQuery version must be >= 1.8.0; -->
    <script src="jquery.min.js"></script>

    <!-- A jQuery plugin that adds cross-browser mouse wheel support. (Optional) -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js"></script>

    <script src="js/lightgallery.min.js"></script>

    <!-- lightgallery plugins -->
    <script src="js/lg-thumbnail.min.js"></script>
    <script src="js/lg-fullscreen.min.js"></script>
</body>  

lightGallery also supports AMD, CommonJS and ES6 modules. When you use AMD make sure that lightgallery.js is loaded before lightgallery modules.

require(['./lightgallery.js'], function() {
    require(["./lg-zoom.js", "./lg-thumbnail.js"], function(){
        $("#lightgallery").lightGallery(); 
    });
});

The markup

lightgallery does not force you to use any kind of markup. you can use whatever markup you want. But I suggest you to use the following markup. Here you can find the detailed examples of different kind of markups.

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

Call the plugin

Finally you need to initiate the gallery by adding the following code.

<script type="text/javascript">
    $(document).ready(function() {
        $("#lightgallery").lightGallery(); 
    });
</script>

Resources

Demos

Modules

  1. Thumbnail - GItHub - Docs

  2. Autoplay - GItHub - Docs

  3. Video - GItHub - Docs

  4. Fullscreen - GItHub - Docs

  5. Pager - GItHub - Docs

  6. Zoom - GItHub - Docs

  7. Hash - GItHub - Docs

  8. Share - GItHub - Docs

  9. Rotate - GItHub - Docs

  10. exif - GitHub - Author - Andrew McOlash

License

Commercial license

If you want to use lightGallery to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Read more about the commercial license

Open source license

If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this project under the terms of the GPLv3.

Comments
  • images cut off at bottom sometimes until swiping all the way through gallery(BTW TY for lightgallery!)

    images cut off at bottom sometimes until swiping all the way through gallery(BTW TY for lightgallery!)

    Hello - thank you for writing lightGallery! I am having a fairly simple issue that I'm having trouble solving. Images seem to load correctly however sometimes (maybe 1 in 10 times) they are being displayed sort of "cut-off" at the bottom sometimes. The reason I say they load correctly is because if I cycle all the way through the gallery when I return to the same image that was displayed cut off before - it displays the full image. Please see examples: horse mountebank I'm not sure how to fix this. Is there a timeout i could set higher perhaps? I have reproduced this problem on my iphone and ipad in both chrome and safari. I have not had this problem on the desktop - but I'm only recruiting lightGallery for the mobile site - so that's not much help! Thank you again for writing this. I see you have declined donations in the past, but if you change your mind - I would be happy to make one. This is great code and I would like to help you - even if its only buying you a beer!

    BTW - the test site for the mobile version is at www.francesmiddendorf.com/mobile26/mobile/images.php?qr=0 Updated: www.francesmiddendorf.com/mobile/images.php?qr=0 -Alex

    opened by arshapro 29
  • lightgallery does not work on click

    lightgallery does not work on click

    I want to run lightgallery on click, there is a solid reason so I want to run lightgallery on click function. The issue is that it works on second click not on first click. That's weired. I want it to work on first click always and on close it should close gallery. And on new click it should start new gallery lightbox. This is the code and it works as intended **but only issue is that it works on second click not on first click. **

    `

    function run_gallery(_class, _class2, _class3){    	
    		var lightbox = jQuery('.'+_class);	
    		lightbox.lightGallery({
    			selector: '.'+_class3+_class2,
    			galleryId: 1,
    			subHtmlSelectorRelative: true
    		});
    		// lightbox.on("onCloseAfter.lg", function() {
    		//     lightbox.data('lightGallery').destroy(true);
    		// });	
    		if(lightbox.data('lightGallery')){
    			lightbox.one("onCloseAfter.lg", function() {			
    			    lightbox.off("onCloseAfter.lg") // <-- unbind
    			        .data('lightGallery').destroy(true);
    			        lightbox.data('lightGallery').destroy(true);
    			});
    		}
    	}
       jQuery(document).on('click','.gt-gallery-box', function(){		    	
    		var cLick = jQuery(this).data('id');
    		var _class = 'gt-wrapper';
    		var _class3 = 'gt-gallery-box';	
    		var lightbox = jQuery('.'+_class);	
    		run_gallery(_class, cLick, _class3);		
    	});
    

    `

    Any one there who can help me out what's wrong I am doing ??? Really wasted my time in this but it should be quiet simple but its not that easy for me at least ...

    In short I want above my function to run on click each time but it runs on second click don't know why ? My light gallery starts only on second click ... any solutions please ???

    Thanks

    v1 
    opened by bridgemove 19
  • Blurry images when zooming on iOS devices

    Blurry images when zooming on iOS devices

    Description

    The feature requested in https://github.com/sachinchoolur/lightGallery/issues/1055 seems not to work on iOS Devices (e.g. iPhone X). We've tested with the latest lightgallery version 2.4.0.

    See these screenshots:

    Firefox desktop mobile preview with simulated iPhone SE:

    firefox_simluation

    Real iPhoneX Screenshot:

    iPhoneX

    Environment

    • Browser and version - Safari 13.1
    • OS - iOS Catalina
    • lightGallery version - 2.4.0

    Additional context

    We will purchase the team license, but only if this feature also works on iOS.

    opened by arrschmitt 18
  • Error when closing gallery

    Error when closing gallery

    In Chrome 71, exception is thrown when invoking document.exitFullscreen() while not in full-screen mode. https://github.com/jpilfold/ngx-image-viewer/issues/23#issuecomment-446899261

    opened by OXAYAZA 18
  • Zoom behaviour on mobile devices

    Zoom behaviour on mobile devices

    The issue described in #182 appears on mobile devices as well. We saw this behaviour on two devices:

    • Safari on iPhone SE with iOS 9.3.2
    • Stock Android Browser on LG G2 (D802) with Android 5.0.2

    I suspect this to happen due to the separation of the scale and position transitions between two different DOM nodes. The fix could be to simply scale and move the image at once instead of scaling the image and moving the container.

    Please see the attached screen recording:

    ezgif-2948147132

    opened by mariorudloff 18
  • lightGallery full of thumbnails visible

    lightGallery full of thumbnails visible "too soon" ..

    Before I begin I should say that I have been away from HTML and Javascript for several years. I found and am having good success retrofitting lightGallery into an existing web site.

    So far I am making simple web pages that are not linked to each other. I am building them using pieces of the code in the lightGallery "thumbnails" examples. I create the nested div's

    < div class="demo-gallery mrb50"> < div id="aniimated-thumbnials">

    entries .. 
    

    < / div> < /div>

    and include multiple entries of the form:

    < a class="" href="imagename" data-sub-html="< h4>Title 1< p>Caption 1< /p>">< img src="thumbname"> < /a>

    and then start up the gallery:

    < script> $('#aniimated-thumbnials').lightGallery({ index:0, preload:2, thumbnail:true }); < /script>

    (For now there is nothing else on the web pages I am making. So far I am just working with lightGallery.)

    This all works file, but the first thing I see is a blank web page with all my thumbnails in the upper left. If I click on any of the thumbnails I then see the gallery as I expect, first large image centered, thumbnails along the bottom, controls as I expect, and all is well.

    My question is, how do I get the page to open immediately on the properly functioning gallery with thumbnails? I am sure that I am missing something simple.

    Note that there is a space after the < brackets above. I don't know how to insert literal code in this composer yet!

    opened by groucho90 16
  • container around the image

    container around the image

    It would be fine if there was a container around the image which follows the size of the image and the navigation, the close button, the thumbnails and the custom html would be rendered there because in this way the customization of the layout would be easier. What do you think?

    opened by monsieur42 16
  • License Question

    License Question

    This project license is not related to GPLv3. REMOVE this line immedialy unless you want troubles.

    https://github.com/sachinchoolur/lightGallery/blob/46eb69abd3847c9812843bfc9b9db6c6792b6101/package.json#L27

    A GPLv3 project can allow other project to soft link it (e.g.: through npm ) and publish under other license (like MIT)

    But your license is not a word with GPLv3. but basically:

    • Free to use only in GPLv3 projects
    • Otherwise pay you

    That's definily not GPLv3, but a totaly commercial project that just open its source code.

    A GPLv3 give right's under many other situation.

    If's totally ok make this project commercial, but unacceptable cheaking us it's a free project.

    opened by Mister-Hope 15
  • Samsung GalaxyTab /  nav. elements not visible

    Samsung GalaxyTab / nav. elements not visible

    Hi,

    I Noticed, that close button on the right hand corner and the navigation buttons on the bottom are not visible on Samsung GalaxyTab / Default browser

    opened by KlausKerava 15
  • Jump cut during zoom transition in Safari 12 on macOS Mojave since 2.1.8 update

    Jump cut during zoom transition in Safari 12 on macOS Mojave since 2.1.8 update

    Hey @sachinchoolur. Not sure if you've seen my answer to the previous issue since it got closed.

    Basically, since the 2.18 update, the slide transition works great on Safari but a weird "jump cut" issue now happens when I close and reopen the gallery. Again, Firefox and Chrome both work just fine.

    Here is a video capture of it in action.

    Any idea of what might be causing this?

    help wanted 
    opened by wwwonka 14
  • V2 feature request

    V2 feature request

    Is your feature request related to a problem? Please describe. Not a problem

    Describe the solution you'd like Provide ability to localise (ie translate) the aria-label text of controls (lg-icon)

    good first issue v1 
    opened by ddrury 13
  • Methods and useState throw React component into loop or re-render

    Methods and useState throw React component into loop or re-render

    Description

    If I use any method (onInit, onBeforeClose, etc) to set a state my component either gets thrown into an infinite loop or it rerenders entirely, depending on method.

    onInit throws the component into an infinitel loop if I have a setState inside it.

    This was not a problem with React 16 with LG 2.3. I have not found a workaround in React 18, LG 2.7

    Steps to reproduce

    Working demo:

    https://codesandbox.io/s/lightgallery-23-zf78it

    Not working demo:

    https://codesandbox.io/s/lightgallery-27-tbxl1p (I have commented out the setState )

    This severly limits on how I can integrate the LG with the rest of my App, is there a workaround?

    Happy new year :)

    opened by chris-at-lemon 0
  • Issue in loop and swipe animation with 2 images

    Issue in loop and swipe animation with 2 images

    Description

    I have faced one issue with the plugin. When we have two images and initialise gallery, The loop true options not work as expected. If I change the condition on line https://github.com/sachinchoolur/lightGallery/blob/4553431ae357f78512bff36ccdc568dfc69edbc0/src/lightgallery.ts#L2036 and https://github.com/sachinchoolur/lightGallery/blob/4553431ae357f78512bff36ccdc568dfc69edbc0/src/lightgallery.ts#L2076 of code to allow loop for more then 1 image. Then animation looks buggy, (ref: https://drive.google.com/file/d/1H5F46JBnA7AUfZXMk2YVjWfmqEoAlDPV/view?usp=drivesdk)

    Steps to reproduce

    Initialize gallery with two images and with loop true option.

    JS code that you use to initialize lightGallery.

    lightGallery(document.getElementById('lightgallery'), {
        loop:true,
        ... settings
    });
    

    Sample HTML markup

    <div id="lightgallery">
        <a href="img/img1.jpg" data-lg-size="1600-2400">
            <img alt=".." src="img/thumb1.jpg" />
        </a>
        <a href="img/img2.jpg" data-lg-size="1024-800">
            <img alt=".." src="img/thumb2.jpg" />
        </a>
        ...
    </div>
    

    Environment

    • Browser and version - Chrome Version 108.0.5359.124 (Official Build) (64-bit)
    • OS -
    • lightGallery version - 2.6.1

    Additional context

    opened by ravi-magecroco 1
  • How to set the container size for responsive behaviour?

    How to set the container size for responsive behaviour?

    Hi, I want to show image carousel with thumbnails. I dont want to make the container divs height fixed since I am creating responsive behaviour.

    Here, I want my gallery to size it up as the window resized. If I set width to height ratio 'aspec-ratio' it doesnt sizes it up nicely since thumbnails are not resized well with decreasing window size. So the aspect ratio breaks. I wanted to over come this issue by making all classes position relative, it works like a charm for normal view but when I make it full screen it breaks. Doesnt work. How can I achive responsive behavior with absoulte postion as in the default behaviour?

    opened by burakertr 0
  • Back button does not close lightbox on mobile

    Back button does not close lightbox on mobile

    Description

    When the user presses back on a mobile device, it goes to the previuosly visited page rather than closing the gallery. Is it somehow possible to fix that?

    Environment

    • Browser and version - Firefox
    • OS - Android
    opened by petko 2
  • Prevent lightgallery from opening on lgBeforeOpen event

    Prevent lightgallery from opening on lgBeforeOpen event

    Summary

    Prevent opening a gallery based on a condition.

    Forgive me if I have missed something though this doesn't seem possible.

    Basic example

    lg.addEventListener('lgBeforeOpen', () => {
      return false;
    });
    

    Motivation

    Seems like a very standard/basic feature. Genuinely need it to prevent marketing cookies from loading if a particular gallery includes youtube slides where consent has not been granted for example.

    opened by joepagan 0
  • Request on /undefined if Vimeo video is embedded

    Request on /undefined if Vimeo video is embedded

    Description

    The vimeoThumbnail plugin or vimeo/player.js is doing doing a get request on /undefined as soon as Vimeo video is added to the dynamic elements.

    Steps to reproduce

    https://codepen.io/GerhardAT/pen/wvXjayx

    Check the console of the view.

    grafik

    JS code that you use to initialize lightGallery.

    const container = document.getElementById("lightgallery");
    
    const items = [{
        'src': 'https://vimeo.com/774288555'
    }];
    
    lightGallery(container, {
        plugins:              [lgThumbnail, lgZoom, lgVideo, lgVimeoThumbnail],
        container:            container,
        hash:                 false,
        closable:             false,
        closeOnTap:           false,
        escKey:               false,
        showMaximizeIcon:     true,
        download:             false,
        loadYouTubePoster:    true,
        height:               '100%',
        licenseKey:           '0000-0000-000-0000',
        speed:                500,
        dynamic:              true,
        dynamicEl:            items,
        autoplayFirstVideo:   false,
        autoplayVideoOnSlide: false,
        vimeoPlayerParams:    {
            byline:     false,
            portrait:   false,
            muted:      false,
            responsive: true,
        }
    });
    

    Sample HTML markup

    <div id="lightgallery"></div>
    

    Environment

    • Browser and version Firefox 107.0
    • OS Ubuntu 22.10
    • lightGallery version 2.7.1-beta.1
    opened by 19Gerhard85 1
Releases(2.7.1-beta.1)
  • 2.7.1-beta.1(Nov 17, 2022)

  • 2.7.1-beta.0(Oct 28, 2022)

  • 2.7.0(Oct 9, 2022)

  • 2.7.0-beta.0(Sep 19, 2022)

  • 2.6.1(Sep 14, 2022)

  • 2.6.0(Aug 29, 2022)

    • Refactor zoom module
    • Fix issue - Blurry images when zooming on iOS devices https://github.com/sachinchoolur/lightGallery/issues/1260
    • Make lightGallery compatible with react 18 strict mode
    • Next / previous button not working with overlapping caption. #1371
    • Improve documentation
    Source code(tar.gz)
    Source code(zip)
  • 2.6.0-beta.1(Jul 13, 2022)

  • 2.5.0(Jun 13, 2022)

    New Features

    • New VimeoThumbnail plugin that automatically loads thumbnail for Vimeo videos
    • Private video support for Vimeo videos
    • Videojs custom theme support
    • Trap focus within lightGallery
    • Option to hide the scrollbar
    • Option to skip scrolling back to the original position on close

    Bug fixes

    • The alt attribute is not appearing on the first image
    • When the focus trap is enabled, the page is scrolling to the bottom

    New Contributors

    • @yytambaya made their first contribution in https://github.com/sachinchoolur/lightGallery/pull/1283
    • @SinaKarimi7 made their first contribution in https://github.com/sachinchoolur/lightGallery/pull/1258
    • @zmalter99 made their first contribution in https://github.com/sachinchoolur/lightGallery/pull/1288
    • @andysbliss made their first contribution in https://github.com/sachinchoolur/lightGallery/pull/1266
    • @leevigraham made their first contribution in https://github.com/sachinchoolur/lightGallery/pull/1303
    • @andrevitalb made their first contribution in https://github.com/sachinchoolur/lightGallery/pull/1295
    Source code(tar.gz)
    Source code(zip)
  • 2.5.0-beta.5(May 11, 2022)

  • 2.5.0-beta.4(May 9, 2022)

    • Option to hide the scrollbar
    • Option to skip scrolling back to the original position on close
    • Bug-fix: When the focus trap is enabled, the page is scrolling to the bottom
    Source code(tar.gz)
    Source code(zip)
  • 2.5.0-beta.3(Apr 23, 2022)

  • 2.5.0-beta.2(Mar 6, 2022)

    • New VimeoThumbnail plugin that automatically loads thumbnail for vimeo videos
    • Add private video support for vimeo videos
    • Add videojs custom theme support
    Source code(tar.gz)
    Source code(zip)
  • 2.4.0(Jan 29, 2022)

    Features

    • Add i18n support (Special thanks to @arnaud-ober )
    • Add rotate callback for Angular, React, and Vue components
    • Add events for autoplay actions autoplay, autoplayStart and autoplayStop

    Bug Fixes

    • Adds position: relative to body and breaks layout #1218
    • Full screen videos not working on Safari OSX #1220
    • Call response.text() after fetch() #1241

    Contributers

    Source code(tar.gz)
    Source code(zip)
  • 2.4.0-beta.0(Dec 12, 2021)

    Features

    • Add i18n support (Special thanks to @arnaud-ober )
    • Add rotate callback for Angular, React, and Vue components
    • Add events for autoplay actions autoplay, autoplayStart and autoplayStop

    Bug Fixes

    • Adds position: relative to body and breaks layout #1218
    • Full screen videos not working on Safari OSX #1220

    Contributers

    Source code(tar.gz)
    Source code(zip)
  • 2.3.0(Oct 28, 2021)

    Summary

    • Add URL params support for YouTube videos.
    • Add URL parameters support for Vimeo videos
    • Improve video autoplay experience
    • automatically load poster images for youtube videos
    • add iframe max-width max-height options

    Breaking changes

    • removed showAfterLoad option as it is already managed via startClass

    Bug fixes/improvements

    • Fix Vimeo URL error when adding vimeoPlayerParams #1143
    • Fix #1146 - Mixed content Uncaught TypeError
    • Mousewheel support for IE and firefox https://github.com/sachinchoolur/lightGallery/issues/1182
    • Fix autoplay issue when the poster image is not provided
    • Mute YouTube and Vimeo videos by default. This is required to enable autoplay in some environments such as IOS, Chrome 66+, and Safari 11+.
    • autoplayVideoOnSlide not working for videos without poster
    • HTML5 video is not playing on IOS without clicking on the poster
    • Fix JS error when startClass set to empty string
    • Sometimes Images are cut off on IOS devices #745
    • Angular SSR - window is undefined #1181
    • Call polyfills only when lightGallery is initialized
    • Set container default value as an empty string to avoid accessing document before lightGallery gets called
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0-beta.4(Oct 11, 2021)

    Bug fixes/Improvements

    • Angular SSR - window is undefined
    • Angular SSR - window is undefined #1181
    • Call polyfills only when lightGallery is initialized
    • Set container default value as an empty string to avoid accessing document before lightGallery gets called
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0-beta.3(Oct 9, 2021)

    Breaking changes

    • removed showAfterLoad option as it is already managed via startClass

    Bug fixes

    • Fix JS error when startClass set to empty string
    • Sometimes Images being cut off on IOS devices #745
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0-beta.2(Sep 28, 2021)

    • Mute YouTube and Vimeo videos by default. This is required to enable autoplay in some environments such as IOS, Chrome 66+, and Safari 11+.
    • Add URL parameters support for Vimeo videos
    • Bugfix - autoplayVideoOnSlide not working for videos without poster
    • Bugfix - HTML5 video is not playing on IOS without clicking on the poster
    Source code(tar.gz)
    Source code(zip)
  • 2.2.1(Sep 4, 2021)

  • 2.3.0-beta-1(Aug 31, 2021)

  • 2.3.0-beta(Aug 29, 2021)

  • 2.2.0(Aug 20, 2021)

    Features

    • Make rotate speed configurable via rotateSpeed option
    • Emit events on rotate and flip
    • Add video tracks support - #1096
    • Add an option set name for the downloaded file
    • Add an option to append captions to the outer div. By setting appendSubHtmlTo to .lg-outer, the main gallery portion and captions can be placed side by side

    Bug Fixes

    • Lack of druggability in zoomed view/portion of the image not reachable (after zoom in by double click) #1067
    • Zoom transition issue #1085
    • Safari Video Controls not working #1097
    • Hide captions div when it is empty
    • Youtube videos not working... #1101 (This was happening when enableDrag is false and enableTouch is true and video poster is provided)
    • Vertical position of the prev/next controls "incorrect" - not centered #1045
    • lg-zoom with lg-video crashes when zooming a video on iPhone #1103
    • Data attribute for download URL not working as documented #1105
    • Control Zoom behavior on inlined Light Gallery #1104
    • Documentation of lgContainerResize event seems to be off #1106
    • lgShare - fix google Lighthouse warnings #1089
    • remove unnecessary overflow hidden for the thumbnail container
    • Fix zoom plugin JavaScript error when the image takes time to load
    • Re-position relativeCaption plugin on resize
    • Typescript - make properties of GalleryItem optional
    • Docs - Fix issue Union type defaults values were not displayed

    Breaking Changes

    • This release changes the HTML structure a little bit - class .lg has been renamed to .lg-content and lg-inner and controls have been moved inside .lg-content. This will affect your existing setup only if you have made any customization
    • Download button for video and iframes slides is not disabled by default. You need explicitly pass data-download-url="false" if you need to disable the download button.
    • Settings width and height have been removed
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0-beta.5(Aug 13, 2021)

    Bug fixes

    • lgShare - fix google Lighthouse warnings #1089
    • remove unnecessary overflow hidden for the thumbnail container
    • Fix zoom plugin JavaScript error when the image takes time to load
    • Re-position relativeCaption plugin on resize
    • Typescrpt - make properties of GalleryItem optional
    • Docs - Fix issue Union type defaults values were not displayed

    New feature

    • Add an option to append captions to the outer div. By setting appendSubHtmlTo to .lg-outer, the main gallery portion and captions can be placed side by side
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0-beta.4(Aug 4, 2021)

    Breaking changes

    • Download button for video and iframes slides is not disabled by default. You need explicitly pass data-download-url="false" if you need to disable the download button.

    Bug fixes

    • lg-zoom with lg-video crashes when zooming a video on iPhone #1103
    • Data attribute for download URL not working as documented #1105
    • Control Zoom behavior on inlined Light Gallery #1104

    Docs

    • Documentation of lgContainerResize event seems to be off #1106

    Features

    • Add an option set name for the downloaded file
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0-beta.3(Jul 29, 2021)

    Bu fixes -

    • Hide captions div when it is empty
    • Youtube videos not working... #1101 (This was happening when enableDrag is false and enableTouch is true and video poster is provided)
    • Vertical position of the prev/next controls "incorrect" - not centered #1045

    Breaking Change

    This release changes the HTML structure a little bit -

    • class .lg has been renamed to .lg-content and lg-inner and controls have been moved inside .lg-content. This will affect your existing setup only if you have made any customization
    • Settings widthand height have been removed
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0-beta.2(Jul 22, 2021)

  • 2.2.0-beta.1(Jul 16, 2021)

    • make rotate speed configurable via rotateSpeed option
    • Emit events on rotate and flip
    • Fix - lack of druggability in zoomed view / portion of the image not reachable (after zoom in by double click) #1067
    • Fix - Zoom transition issue #1085
    Source code(tar.gz)
    Source code(zip)
  • 2.1.8(Jul 7, 2021)

    Bug fixes and improvements

    • zoom plugin laggy in mac Mojave firefox. #1080
    • "lg-slide" transitions not working in Safari 12 on macOS Mojave and iOS #1081 https://github.com/sachinchoolur/lightGallery/issues/1081
    • "will-change" Browser warning on firefox #1007
    Source code(tar.gz)
    Source code(zip)
  • 2.1.7(Jul 1, 2021)

    Bug fixes -

    • dynamicGallery.refresh() does not allow you to add new video sources #1074
    • Wrong button gets disabled on first and last images in gallery (Previous instead of Next) #1060
    • When gallery first init with single image and slides updated after, visibility of controls not updating #1069
    • hideControlOnEnd option seems not to work #1065
    Source code(tar.gz)
    Source code(zip)
jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable.

fancyBox jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable. See the project page for doc

Jānis Skarnelis 7.2k Jan 2, 2023
A light-weight, customizable lightbox plugin for jQuery

About Colorbox: A customizable lightbox plugin for jQuery. See the project page for documentation and a demonstration, and the FAQ for solutions and e

Jack Moore 4.8k Dec 29, 2022
Light and responsive lightbox script with focus on performance.

Magnific Popup Repository Fast, light and responsive lightbox plugin, for jQuery and Zepto.js. Documentation and getting started guide. Examples and p

Dmitry Semenov 11.3k Jan 2, 2023
:zap: Simple and easy to use lightbox script written in pure JavaScript

baguetteBox.js Simple and easy to use lightbox script written in pure JavaScript. Demo page Table of contents Features Installation Importing Usage Cu

Marek Grzybek 2.3k Jan 3, 2023
A touchable jQuery lightbox

Swipebox A touchable jQuery lightbox. View project page What is Swipebox ? Swipebox is a jQuery "lightbox" plugin for desktop, mobile and tablet. Feat

null 2k Dec 6, 2022
THE original Lightbox script (v2).

Lightbox2 The original lightbox script. Lightbox is small javascript library used to overlay images on top of the current page. It's a snap to setup a

Lokesh Dhakar 5.8k Jan 3, 2023
Touch-friendly image lightbox for mobile and desktop

Touch-friendly image lightbox for mobile and desktop

Andre Rinas 938 Jan 5, 2023
jBox is a jQuery plugin that makes it easy to create customizable tooltips, modal windows, image galleries and more.

jBox jBox is a jQuery plugin that makes it easy to create customizable tooltips, modal windows, image galleries and more. Demo: https://stephanwagner.

Stephan Wagner 1.4k Dec 15, 2022
Elegant, responsive, flexible and lightweight modal plugin with jQuery.

iziModal Elegant, responsive, flexible and lightweight modal plugin with jQuery. izimodal.marcelodolza.com Fast Responsive Animated Lightweight Custom

Marcelo Dolza 2.1k Dec 30, 2022
A Lightweight Responsive jQuery Tooltip Plugin

tipso A Lightweight Responsive jQuery Tooltip Plugin There is also a Wordpress version of this plugin. Get it here Getting started Include jQuery <scr

Bojan Petkovski 325 Dec 21, 2022
Extends the default Bootstrap Modal class. Responsive, stackable, ajax and more.

Note: Since this plugin was created to solve a lot of the issues with BS2, it still uses the BS2 markup syntax. Currently I believe the default BS3 mo

Jordan Schroter 5k Dec 28, 2022
Avgrund is jQuery plugin with new modal concept for popups

Avgrund Avgrund is a jQuery plugin for your modal boxes and popups. It uses new concept showing depth between popup and page. It works in all modern b

Dmitri Voronianski 1.8k Dec 14, 2022
Unite Gallery - Responsive jQuery Image and Video Gallery Plugin. Aim to be the best gallery on the web on it's kind. See demo here:

##Unite Gallery - Responsive jQuery Gallery Plugin Product Link: unitegallery.net This gallery has commercial versions for: WordPress , Joomla! , Pres

Max Valiano 531 Oct 24, 2022
Story Show Gallery - JS & React - minimalist, vertical photo gallery, mobile friendly

Vertical photo gallery optimized for smartphones (notch area included). SSG will support your brand and marketing. Optimally placed captions, full screen lightbox, no ugly arrows

Roman Flössler 21 Oct 4, 2022
3D Infinite Art Gallery! This pulls from Reddit's r/Art and creates a procedural infinite art gallery from random (sfw-only) posts.

Infinite-Art-Gallery Click for Demo! 3D Infinite Procedurally-Generated Art Gallery! This pulls from Reddit's r/Art and creates a procedural infinite

Austin 33 Dec 15, 2022
Bootstrap-Lightbox - Simple & lightweight lightbox for Bootstrap 5

Bootstrap-Lightbox Simple & lightweight lightbox for Bootstrap 5 Basic Usage Adding data-modal="bs-lightbox" in your A href tag. <a data-modal="bs-lig

null 1 Oct 11, 2022
jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable.

fancyBox jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable. See the project page for doc

Jānis Skarnelis 7.2k Jan 2, 2023
JavaScript image gallery for mobile and desktop, modular, framework independent

PhotoSwipe Repository JavaScript image gallery for mobile and desktop. Documentation and getting started guide. Demo and script home page. NPM npm ins

Dmitry Semenov 22.5k Dec 30, 2022
JavaScript image gallery for mobile and desktop, modular, framework independent

PhotoSwipe v5 — JavaScript image gallery and lightbox Demo | Documentation Repo structure dist/ - main JS and CSS src/ - source JS and CSS. src/js/pho

Dmytro Semenov 22.4k Dec 29, 2022
A light-weight, customizable lightbox plugin for jQuery

About Colorbox: A customizable lightbox plugin for jQuery. See the project page for documentation and a demonstration, and the FAQ for solutions and e

Jack Moore 4.8k Dec 29, 2022