Convert Figma logo to code with AI

lokesh logolightbox2

THE original Lightbox script (v2).

6,190
1,763
6,190
74

Top Related Projects

JavaScript image gallery for mobile and desktop, modular, framework independent

:zap: Simple and easy to use lightbox script written in pure JavaScript

Full featured JavaScript image & video gallery. No dependencies

A touchable jQuery lightbox

jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable.

Featherlight is a very lightweight jQuery lightbox plugin. It's simple yet flexible and easy to use. Featherlight has minimal css and uses no inline styles, everything is name-spaced, it's completely customizable via config object and offers image, ajax and iframe support out of the box. Featherlights small footprint weights about 4kB – in total.

Quick Overview

Lightbox2 is a modern, lightweight, and responsive lightbox script that allows users to view images and other media in a clean, elegant, and mobile-friendly way. It is a popular open-source project that has been widely used in web development projects.

Pros

  • Responsive Design: Lightbox2 is designed to be responsive and works well on both desktop and mobile devices.
  • Customizable: The script provides a range of options and settings that allow developers to customize the appearance and behavior of the lightbox.
  • Cross-Browser Compatibility: Lightbox2 is compatible with a wide range of modern web browsers, including the latest versions of Chrome, Firefox, Safari, and Edge.
  • Active Development: The project is actively maintained, with regular updates and bug fixes.

Cons

  • Limited Functionality: Lightbox2 is primarily focused on displaying images and does not provide advanced features like video or audio support.
  • Dependency on jQuery: The script requires the jQuery library, which may not be necessary for all projects.
  • Potential Performance Issues: Depending on the size and number of images being displayed, Lightbox2 may have a negative impact on page load times.
  • Limited Documentation: While the project has a decent amount of documentation, some users may find it lacking in certain areas.

Code Examples

Here are a few examples of how to use Lightbox2 in your web development projects:

  1. Basic Image Lightbox:
<a href="image-1.jpg" data-lightbox="gallery" data-title="Image 1">
  <img src="thumbnail-1.jpg" alt="Image 1">
</a>

This code creates a basic image lightbox, where clicking on the thumbnail image will open the full-size image in a lightbox.

  1. Gallery with Multiple Images:
<a href="image-1.jpg" data-lightbox="gallery" data-title="Image 1">
  <img src="thumbnail-1.jpg" alt="Image 1">
</a>
<a href="image-2.jpg" data-lightbox="gallery" data-title="Image 2">
  <img src="thumbnail-2.jpg" alt="Image 2">
</a>
<a href="image-3.jpg" data-lightbox="gallery" data-title="Image 3">
  <img src="thumbnail-3.jpg" alt="Image 3">
</a>

This code creates a gallery of three images, where clicking on any of the thumbnails will open the corresponding full-size image in a lightbox.

  1. Customizing the Lightbox Appearance:
<link rel="stylesheet" href="path/to/lightbox.min.css">
<script src="path/to/lightbox.min.js"></script>

<script>
  lightbox.option({
    'resizeDuration': 200,
    'wrapAround': true,
    'maxWidth': 800,
    'maxHeight': 600,
    'fitImagesInViewport': true,
    'alwaysShowNavOnTouchDevices': true
  })
</script>

This code demonstrates how to customize the appearance and behavior of the Lightbox2 script by setting various options, such as the resize duration, wrap-around functionality, and maximum image size.

Getting Started

To get started with Lightbox2, follow these steps:

  1. Download the latest version of the Lightbox2 library from the GitHub repository.
  2. Include the Lightbox2 CSS and JavaScript files in your HTML file:
<link rel="stylesheet" href="path/to/lightbox.min.css">
<script src="path/to/lightbox.min.js"></script>
  1. Add the necessary HTML structure to your page, using the data-lightbox and data-title attributes to define the lightbox behavior:
<a href="image-1.jpg" data-lightbox="gallery" data-title="Image 1">
  <img src="thumbnail-1.jpg" alt="Image 1">
</a>
  1. (Optional) Customize the Lightbox2

Competitor Comparisons

JavaScript image gallery for mobile and desktop, modular, framework independent

Pros of PhotoSwipe

  • More feature-rich, including support for touch gestures and mobile-friendly UI
  • Better performance with large image galleries
  • More customizable with extensive API and options

Cons of PhotoSwipe

  • Steeper learning curve due to more complex setup
  • Larger file size, which may impact page load times
  • Less straightforward implementation for basic use cases

Code Comparison

Lightbox2 implementation:

<a href="image.jpg" data-lightbox="gallery">
  <img src="thumbnail.jpg" alt="Image">
</a>

PhotoSwipe implementation:

<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
  <!-- PhotoSwipe structure -->
</div>
<div class="my-gallery" itemscope itemtype="http://schema.org/ImageGallery">
  <figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <a href="image.jpg" itemprop="contentUrl" data-size="1024x1024">
      <img src="thumbnail.jpg" itemprop="thumbnail" alt="Image description" />
    </a>
  </figure>
</div>

Both Lightbox2 and PhotoSwipe are popular JavaScript libraries for creating image galleries and lightboxes. Lightbox2 is simpler to implement and ideal for basic image viewing needs, while PhotoSwipe offers more advanced features and customization options at the cost of increased complexity. The choice between the two depends on the specific requirements of your project, such as the need for mobile optimization, performance with large galleries, and desired level of customization.

:zap: Simple and easy to use lightbox script written in pure JavaScript

Pros of baguetteBox.js

  • Lightweight and dependency-free, resulting in faster load times
  • Supports touch gestures for mobile devices out of the box
  • Simple implementation with minimal configuration required

Cons of baguetteBox.js

  • Less customization options compared to Lightbox2
  • Fewer features and animation effects available
  • Smaller community and less frequent updates

Code Comparison

baguetteBox.js

baguetteBox.run('.gallery');

Lightbox2

lightbox.option({
  'resizeDuration': 200,
  'wrapAround': true
});

Both libraries offer simple implementation, but Lightbox2 provides more options for customization. baguetteBox.js focuses on a minimalistic approach, while Lightbox2 offers more features at the cost of a larger file size and potential dependencies.

baguetteBox.js is ideal for projects requiring a lightweight, mobile-friendly solution with minimal setup. Lightbox2 is better suited for projects needing extensive customization and a wider range of features.

Consider your project's specific requirements, target devices, and desired level of customization when choosing between these two lightbox libraries.

Full featured JavaScript image & video gallery. No dependencies

Pros of lightgallery.js

  • More feature-rich, including support for videos, thumbnails, and fullscreen mode
  • Responsive design with touch support for mobile devices
  • Highly customizable with numerous options and API methods

Cons of lightgallery.js

  • Larger file size due to additional features, potentially impacting page load times
  • Steeper learning curve for implementation and customization
  • May be overkill for simple image lightbox needs

Code Comparison

lightgallery.js:

lightGallery(document.getElementById('lightgallery'), {
    plugins: [lgZoom, lgThumbnail],
    speed: 500,
    download: false
});

lightbox2:

lightbox.option({
    'resizeDuration': 200,
    'wrapAround': true
});

Both libraries offer easy initialization, but lightgallery.js provides more options and plugin support out of the box. lightbox2 has a simpler setup, which may be preferable for basic use cases.

lightgallery.js is more suitable for complex gallery needs with diverse media types and advanced features. lightbox2 is ideal for simpler image lightbox implementations with a focus on ease of use and lightweight performance.

A touchable jQuery lightbox

Pros of Swipebox

  • Mobile-friendly with touch gestures for swiping between images
  • Lightweight and fast-loading, with minimal dependencies
  • Supports video content (YouTube, Vimeo) in addition to images

Cons of Swipebox

  • Less actively maintained, with fewer recent updates
  • More limited customization options and themes
  • Smaller community and fewer resources available for support

Code Comparison

Lightbox2 initialization:

lightbox.option({
  'resizeDuration': 200,
  'wrapAround': true
});

Swipebox initialization:

$('.swipebox').swipebox({
  useCSS: true,
  hideBarsDelay: 0
});

Both libraries offer simple initialization, but Lightbox2 provides more built-in options for customization. Swipebox focuses on a streamlined, mobile-first approach with fewer configuration options out of the box.

Lightbox2 is more widely used and actively maintained, making it a safer choice for long-term projects. However, Swipebox excels in mobile environments and offers a more modern, touch-friendly experience.

For developers prioritizing mobile performance and simplicity, Swipebox may be the better option. Those seeking extensive customization and broader community support might prefer Lightbox2.

jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable.

Pros of Fancybox

  • More feature-rich with advanced options like touch support and responsive design
  • Actively maintained with regular updates and bug fixes
  • Supports a wider range of media types, including videos and iframes

Cons of Fancybox

  • Larger file size, which may impact page load times
  • Steeper learning curve due to more complex configuration options
  • Commercial license required for certain use cases

Code Comparison

Lightbox2 initialization:

lightbox.option({
  'resizeDuration': 200,
  'wrapAround': true
});

Fancybox initialization:

Fancybox.bind("[data-fancybox]", {
  // Your options here
});

Both libraries offer simple initialization, but Fancybox provides more customization options out of the box. Lightbox2 focuses on simplicity and ease of use, while Fancybox offers a more comprehensive set of features for advanced use cases.

Lightbox2 is lightweight and straightforward, making it ideal for basic image galleries. Fancybox, on the other hand, is better suited for complex media presentations and interactive content. The choice between the two depends on the specific requirements of your project and the level of customization needed.

Featherlight is a very lightweight jQuery lightbox plugin. It's simple yet flexible and easy to use. Featherlight has minimal css and uses no inline styles, everything is name-spaced, it's completely customizable via config object and offers image, ajax and iframe support out of the box. Featherlights small footprint weights about 4kB – in total.

Pros of Featherlight

  • Lighter weight (2KB vs 16KB for Lightbox2)
  • More flexible and customizable
  • Built-in AJAX support

Cons of Featherlight

  • Less extensive documentation
  • Fewer built-in gallery features
  • Smaller community and fewer updates

Code Comparison

Featherlight:

$.featherlight('#myLightbox');

Lightbox2:

lightbox.option({
  'resizeDuration': 200,
  'wrapAround': true
});

Featherlight uses a simpler API for basic functionality, while Lightbox2 offers more configuration options out of the box. Featherlight's approach allows for easier customization, but Lightbox2 provides more built-in features without additional coding.

Both libraries are lightweight and easy to implement, but Featherlight edges out in terms of file size and flexibility. Lightbox2, however, has a larger user base and more extensive documentation, which can be beneficial for beginners or those seeking a more standardized solution.

Ultimately, the choice between Featherlight and Lightbox2 depends on the specific needs of the project, with Featherlight being better suited for developers who prioritize customization and minimal file size, while Lightbox2 is ideal for those who prefer a more feature-rich, well-documented solution with a larger community.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

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 and works on all modern browsers.

  • Demos and usage instructions. Visit the Lightbox homepage to see examples, info on getting started, script options, how to get help, and more.
  • Releases and Changelog. Viewable on the Github Releases page
  • Roadmap. View the Roadmap for a peek at what is being planned for future releases.
  • License. Lightbox is licensed under the MIT License. Learn more about the license.

by Lokesh Dhakar


Info for Maintainers

Local development

Some old tech, but it works, so no upgrading till something breaks.

  • Install Bower and Grunt: npm install -g bower grunt
  • Install jQuery dependency with Bower: bower install
  • Start local server: grunt
  • Navigate to localhost:8000/examples
  • Update examples/index.html to load jQuery and src/js/lightbox.js.

NPM DownloadsLast 30 Days