Touch-friendly image lightbox for mobile and desktop

Overview

simplelightbox

Touch-friendly image lightbox for mobile and desktop

Features

  • Responsive
  • Touch friendly
  • Swipe gestures for next/previous image
  • Easy to install, easy to use
  • Minimalistic
  • Only some css is included. You can change the style like you want!
  • Lots of options
  • Preloading next and previous image
  • Android, iOs and Windows phone support
  • CSS3 Transitions with fallback for older browsers
  • Works in every modern Browser, even in IE 11
  • Can use jQuery 1.x, 2.x and 3.x. This is not required.
  • Keyboard support
  • Pinch to zoom
  • Double-tap to zoom

Install

// YARN
yarn add simplelightbox

// Bower
bower install simplelightbox

// NPM
npm install simplelightbox

After that include simple-lightbox(.min).css and simple-lightbox(.min).js to your page.

Usage

Standalone Plugin

When using the standalone variant (simple-lightbox(.min).js)

new SimpleLightbox('.some-element a', { /* options */ });

The jQuery-compatible (simple-lightbox.jquery(.min).js) variant works as before (v1.x):

$('.some-element a').simpleLightbox({ /* options */ });

With Webpack/Browserify/Parcel etc...

Choose the module file you want to import or require.

Module with Babel tranformation

import SimpleLightbox from "simplelightbox";

Plain ES Module without Babel

import SimpleLightbox from "simplelightbox/dist/simple-lightbox.esm"

Markup

For the default setup, you just need links that are pointing to images.

">

  

The markup inside the A-Tags can be whatever you want. In this example thumbnails of the big images. The 'title' tag is used by default to show a caption. For a complete example just look at the demo folder.

JavaScript Options

Property Default Type Description
sourceAttr href string The attribute used for large images
overlay true bool Show an overlay or not
spinner true bool Show spinner or not
nav true bool Show arrow-navigation or not
navText ['←','→'] array Text or html for the navigation arrows
captions true bool Show captions if available or not
captionSelector 'img' string or function Set the element where the caption is. Set it to "self" for the A-Tag itself or use a callback which returns the element
captionType 'attr' string How to get the caption. You can choose between attr, data or text
captionsData title string Get the caption from given attribute
captionPosition 'bottom' string The position of the caption. Options are top, bottom or outside (note that outside can be outside the visible viewport!)
captionDelay 0 int Adds a delay before the caption shows (in ms)
captionClass '' string Add an additional class to the sl-caption
close true bool Show the close button or not
closeText '×' string Text or html for the close button
swipeClose true bool Swipe up or down to close gallery
showCounter true bool Show current image index or not
fileExt 'png|jpg|jpeg|gif' regexp or false List of file extensions the plugin works with or false to disable the check
animationSpeed 250 int How long the slide animation takes
animationSlide true bool Wether to slide in new photos or not, disable to fade
preloading true bool Allows preloading next and previous images
enableKeyboard true bool Allow keyboard arrow navigation and close with ESC key
loop true bool Enables looping through images
rel false mixed By default, false means that the lightbox groups by rel automatically. This option can be used as an anchor rel alternative for Simplelightbox. It allows the user to group any combination of elements together for a gallery, or to override an existing rel so elements are not grouped together. Note: The value can also be set to 'nofollow' to disable grouping.
docClose true bool Closes the lightbox when clicking outside
swipeTolerance 50 int The amount of pixels you have to swipe, until next or previous image
className: 'simple-lightbox' string Adds a class to the wrapper of the lightbox
widthRatio: 0.8 float Ratio of image width to screen width
heightRatio: 0.9 float Ratio of image height to screen height
scaleImageToRatio: false bool Scales the image up to the defined ratio size
disableRightClick false bool Disable rightclick on image or not
disableScroll true bool Stop scrolling page if lightbox is opened
alertError true bool Show an alert if image was not found. If false error will be ignored
alertErrorMessage 'Image not found, next image will be loaded' string The message displayed if image was not found
additionalHtml false string Additional HTML showing inside every image. Usefull for watermark etc. If false nothing is added
history true bool Enable history back closes lightbox instead of reloading the page
throttleInterval 0 int Time to wait between slides
doubleTapZoom 2 int Zoom level when double tapping on an image
maxZoom 10 int Maximum zoom level on pinching
htmlClass 'has-lightbox' string or false Adds class to html element if lightbox is open. If empty or false no class is set
rtl false bool Change direction to right-to-left
fixedClass 'sl-fixed' string Elements with this class are fixed and get the right padding when lightbox opens
fadeSpeed 300 int The duration for fading in and out in milliseconds. Used for caption fadein/out too. If smaller than 100 it should be used with animationSlide:false
uniqueImages true bool Whether to uniqualize images or not
focus true bool Focus the lightbox on open to enable tab control
scrollZoom true bool Can zoom image with mousewheel scrolling
scrollZoomFactor true bool How much zoom when scrolling via mousewheel

Events

Name Description
show.simplelightbox Fires before the lightbox opens
shown.simplelightbox Fires after the lightbox was opened
close.simplelightbox Fires before the lightbox closes
closed.simplelightbox Fires after the lightbox was closed
change.simplelightbox Fires before image changes
changed.simplelightbox Fires after image was changed
next.simplelightbox Fires before next image arrives
nextDone.simplelightbox Fires after next image arrived
prev.simplelightbox Fires before previous image arrives
prevDone.simplelightbox Fires after previous image arrived
nextImageLoaded.simplelightbox Fires after next image was loaded (if preload activated)
prevImageLoaded.simplelightbox Fires after previous image was loaded (if preload activated)
error.simplelightbox Fires on image load error

Example

let gallery = new SimpleLightbox('.gallery a');
gallery.on('show.simplelightbox', function () {
	// Do something…
});

gallery.on('error.simplelightbox', function (e) {
	console.log(e); // Some usefull information
});

// with jQuery nearly the same
let gallery = $('.gallery a').simpleLightbox();
gallery.on('show.simplelightbox', function () {
	// Do something…
});

Public Methods

Name Description
open Opens the lightbox with a given Element
close Closes current openend Lightbox
next Go to next image
prev Go to previous image
destroy Destroys the instance of the lightbox
refresh Destroys and reinitializes the lightbox, needed for eg. Ajax Calls, or after dom manipulations

Example

var gallery = $('.gallery a').simpleLightbox();

gallery.next(); // Next Image

Multiple Lightboxes on one page

You can have multiple lightboxes on one page if you give them different selectors. Here is a small example:

var lightbox1 = $('.lighbox-1 a').simpleLightbox();
var lightbox2 = $('.lighbox-2 a').simpleLightbox();

Customization

You can customize Simplelightbox by changing the style in simplelightbox.css.

If you are using SASS, you can customize Simplelightbox with the following variables

$sl-font-family: Arial, Baskerville, monospace;
$sl-overlay-background: #fff;
$sl-navigation-color: #000;
$sl-caption-color: #fff;
$sl-caption-background: #000;
$sl-overlay-opacity: 0.7;

$sl-counter-fontsize: 1rem;
$sl-caption-fontsize: 1rem;
$sl-close-fontsize: 3rem;

$sl-breakpoint-medium: 35.5em; // 568px, when 1rem == 16px
$sl-breakpoint-large:  50em;   // 800px, when 1rem == 16px

$sl-arrow-fontsize-small:  2rem;
$sl-arrow-fontsize-medium: 3rem;
$sl-arrow-fontsize-large:  3rem;
$sl-img-border-small:  0 none;
$sl-img-border-medium: 0 none;
$sl-img-border-large:  0 none;
$sl-iframe-border-small:  0 none;
$sl-iframe-border-medium: 0 none;
$sl-iframe-border-large:  0 none;

$add-vendor-prefixes: true !default;

Contributing

using gulp
Run gulp watch to enable continous watching of both src/simple-lightbox.js and src/simple-lightbox.scss. Both files will be compiled to dist/simple-lightbox.js and dist/simple-lightbox.css respectively. Open dist/index.html in your browser to inspect your changes...

Building
Just call gulp build to have all files and variants created inside dist!

Changelog

2.9.0 - Added mousescroll function with new options mouseScroll and mouseScrollFactor
2.8.1 - Fixed #250 - No closing if image load fails. #249 Disable scroll on Mac works now
2.8.0 - Fixed #235 - legacy file too big. #236 bad package.json and added support for passive event listeners #240. Thanks to @coderars for the issues and some code
2.7.3 - Fixed #232 - sourceAttr does not work. Thanks to @bivisual for the issue
2.7.2 - Fixed #231 - disableRightClick doesn't. Thanks to @DrMint for the fix
2.7.1 - Fixed #228 - no mouse swiping in firefox. Thanks to @DrMint for the fix
2.7.0 - Merged #206 which fixes #205. Thanks to @ocean90 for the idea and PR
2.6.0 - Added new option uniqueImages for #156, focus for #190 and fixed bug #200 issue closing during animation
2.5.0 - Added new option fadeSpeed. This will fix #147 and #186
2.4.1 - Added new simple-lightbox.legacy.js with IE 11 Support. Fixes #175, #178, #183 and some other bugs from 2.4.0
2.4.0 - Added new option for fixed elements class #195
2.3.0 - Merged Feature for ESM Modules. Thanks to Dmytro Hrynevych #180
2.2.2 - Fixed direct closing on load error #182
2.2.1 - Fixed bug #174 and problem with ES Modules
2.2.0 - Added ES Modules support, thanks to @seralichtenhahn for the PR. This fixed #164
2.1.5 - Fixed bug #169 open method with jQuery and #171 error while pan on mobile devices
2.1.4 - Fixed bug #168 doubletap zoom on touch devices
2.1.3 - Fixed bug in destroy method #167 and bug with html in navText #165
2.1.2 - Fixed additionalHtml bug #163
2.1.1 - Fixed captions bug #162
2.1.0 - Added rel grouping feature #16 and added rtl support #161
2.0.0 - Complete rewrite. Now uses modern ES6 javascript, without the need of jQuery. Can use jQuery anyway. Developers can use gulp with babel to contribute. Thanks to Mtillmann #129 for the implementation
1.17.3 - Fixed new chrome passive error #155
1.17.2 - Fixed caption keeps disappeared on double click #139 and added better close symbol #133
1.17.1 - Added webp in fileExt list #135, removed hardcoded a-tag in isValidLink function #134
1.17.0 - Merged pull request #132. Added double click to zoom for desktop browsers - Thanks to coderkan
1.16.3 - Merged pull request #126,#127 - Thanks to jieter
1.16.2 - Added featured #124 - Add a class to html element if lightbox is open
1.16.1 - Fixed pinch to zoom offset error on scrolling #123
1.16.0 - Pinch to Zoom feature for touch devices with new options doubleTapZoom and maxZoom #79
1.15.1 - Merged pull request #113,#114,#115 - Thanks to RaphaelHaettich and celsius-jochen
1.15.0 - Merged pull request #111, fixed #101 and added possibility to close lightbox on load #74
1.14.0 - Merged pull request #107 and #108. Thanks to RaphaelHaettich
1.13.0 - Added featured #92 and merged pull request #98 and #99. Thanks to RaphaelHaettich
1.12.2 - Bugfix for #89
1.12.1 - Bugfix for #88,#87 and remove bind/unbind #84
1.12.0 - New option captionClass #81, bugfix for #82
1.11.1 - Merged pull request #76. Thanks to walterebert, added support for images with parameters and file extension check #59
1.11.0 - New option for src of image. e.g data attribute #70
1.10.7 - Added Bootstrap compatibility #69
1.10.6 - Merged pull requests #65. Thanks to mstaniuk
1.10.5 - Merged pull requests #60 and #61. Thanks to slavanga
1.10.4 - Bugfix von #58
1.10.3 - Merged pull requests #55, #56 and #57. Thanks to karland
1.10.2 - Aligned navigation and close buttons #51, fixed image error bug #52
1.10.1 - Added support for jQuery 3.x #50
1.10.0 - Implemented feature-request #48, history back, some bugfixing and code styling
1.9.0 - Implemented feature-request #16, added rel option for grouping images
1.8.6 - Implemented feature-request #46, added refresh method
1.8.5 - Implemented feature-request #44
1.8.4 - Bugfix for #41 and added option for additional html inside images #40
1.8.3 - Bugfix for #38 and small other fix for loop false option
1.8.2 - Better bugfix for #33, finally fixing multiple lightbox on one page slowness issues!
1.8.1 - Bugfix for #31, #32 and #33
1.8.0 - New API Events (changed open to show) and little fix in function open() brought by Geoffrey Crofte and some other small bugfixes
1.7.2 - Bugfix von #25 and #27
1.7.1 - Bugfix von #22 with new option alertError and merged pull request #23
1.7.0 - Add support for fading between photos, Bugfix for single image navigation, option for caption delay
1.6.0 - Option for caption position. Disable prev or next arrow if loop is false and position is first or last.
1.5.1 - Bugfix for multiple lightboxes on one page
1.5.0 - Added options for disabling rightclick and scrolling, changed default prev- and next-button text
1.4.6 - Option for fileExt can now be false to enable pictures like example.com/pic/200/100
1.4.5 - Bugfix lightbox opening does not work on mobile devices
1.4.4 - Bugfix no drag&drop in FF, changed default close text, only output data if lightbox is opened
1.4.3 - Bugfix z-index for spinner to low, added sass files
1.4.2 - Bugfix for issue #2 - Drop Event does not fire when mouse leaves window
1.4.1 - The whole caption Selector is rewritten. You can now select an element and get its text, use data or attribute
1.4.0 - Caption Attribute can now be what, you want, or data-title. Fixed some small issues
1.3.1 - Bugfix: disable keyboard control if lightbox is closed
1.3.0 - Added current index indicator/counter
1.2.0 - Added option for captions attribute (title or data-title)
1.1.2 - Bugfix for looping images
1.1.1 - Bugfix for loading indicator and removed a log-event
1.1.0 - Added classname for lightbox wrapper and width/height ratio
1.0.0 - Initial Release

Author

Andre Rinas - Github

Contributors

Martin Tillmann
nicekiwi
helloilya
bitstarr
Geoffrey Crofte - Github
Karl Anders - Github
Raphael Hättich
Serafin Lichtenhahn
Jochen Sengier - Github
Dmytro Hrynevych
Dominik Schilling - Github
DrMint

Comments
  • Grouping Images

    Grouping Images

    Hi Andre,

    Love the plugin, but it require a grouping function to separate the images in same pages to have their own gallery. Or is the function already there? Because I can't find any guide about it.

    enhancement help wanted 
    opened by Math3wC 24
  • pinch/zoom capability on touch devices

    pinch/zoom capability on touch devices

    Hey André, first of all thanks for that nice lil' lightbox! I might be missing something but is there a way to make pinch/zoom working on touch devices? That would be very helpful imho. Thanks in advance!

    enhancement 
    opened by sashtown 20
  • double tap to zoom broken on mobile

    double tap to zoom broken on mobile

    Visit https://simplelightbox.com/ on your phone and tap to open any of the images. Try double tap and the image will zoom in for a second and then immediately zoom out.

    bug 
    opened by leoliu 13
  • image jump

    image jump

    Hi, I tried your script! When flipping the image. Hides picture twitches. Before full of hidden again briefly shown. (Win8, Chrome)

    Привет, пробовал твой скрипт! Когда листаешь картинки. Скрываемая картинка дёргается. Перед полным скрытием снова на мгновение показывается.

    opened by akiyatkin 12
  • docClose issue on iPad

    docClose issue on iPad

    Hello,

    I have implemented your simple lightbox for use on a responsive and mobile friendly website however I am having problems with the docClose functionality when testing on an iPad. I have tested the functionality on an Android mobile, Windows 7 PC, Windows 10 PC and Macbook and for all of these clicking away from the image in the lightbox will cause it to close like expected however this functionality is not working for me on an iPad.

    Are there any suggestions?

    Note: I am running iOS 9.3.1 and using Safari

    Update: I have noticed that you can close the lightbox if you click on the border between the image and the overlay but it has to be directly on the border, any further away and the functionality is lost.

    bug 
    opened by DanielM-1993 9
  • Scrolling still possible when Lightbox is opened

    Scrolling still possible when Lightbox is opened

    Hi, I noticed that scrolling is still possible when lightbox is opened (at least with Mac trackpad in Chrome or Firefox), even if I explicitly set it to disableScroll : true (which should be the standard anyway).

    Is this a bug or am I missing something?

    input needed 
    opened by city17 8
  • Request for new features

    Request for new features

    Hello Andre. Thank you for your programm. Will you implement some pritty functions like zoom and rotate? At the moment when I try zoom a picture via browser ( Ctrl+Scroll), it doesn't changed?

    Have you any donate methods except the paypal? I want make a little donate.

    enhancement 
    opened by andrconstruction 8
  • "history: true" adds multiple previous states on the Back button of the browser

    I'm using the following code

    function initSimpleLightbox(){
    
    	if ($lightboxes != '') {
    		$lightboxes.destroy();
    	}
    
    	$('.is-lightbox-gallery').each(function(){
    		var $this = $(this);
    
    		$lightboxes = $this.find('*:visible a');
    
    		$lightboxes.simpleLightbox({
    			showCounter: false,
    			animationSpeed: 150,
    			history: true,
    			closeText: '<span class="close-icon"></span>',
    			navText: ['<span class="arrow-left"></span>', '<span class="arrow-right"></span>']
    		});
    	});
    }
    
    initSimpleLightbox();
    

    Every time the page loads, there are multiple previous states under the Back button of the browser. Is this a bug in the plugin or am I not writing doing right?

    bug 
    opened by pnpetroff 8
  • Issue with multiple light boxes on one page

    Issue with multiple light boxes on one page

    I have a page with multiple light boxes and it works well except if you open a lightbox set with multiple images it all works fine but if you then open only a single image lightbox (so the left and right arrows are not shown as a expected) then open anything else the arrows seem to be permanently removed.

    Is there a fix for this?

    bug 
    opened by jacklawry 7
  • Cannot navigate when zoomed into an image on mobile.

    Cannot navigate when zoomed into an image on mobile.

    Hello and thank for your amazing work!

    I found something that I think is worth mentioning. When I enter your website https://simplelightbox.com/ and open an image from my mobile phone the zoom works perfectly, however after the image is zoomed in, it can't navigate properly. Every second touch returns the image to the initial place of zoom.

    In other words, if I zoom in the centre of the image and I want to navigate to the corners I get returned in the centre on my second touch.

    I was wondering, could this be fixed?

    bug 
    opened by Don404 7
  • Can not import to project

    Can not import to project

    Hi, sorry for probably stupid question, but i can't import library to my project. I have install it with npm install simplelightbox I am trying to import it standard way: import SimpleLightbox from 'simplelightbox'; or let SimpleLightbox = require('simplelightbox'); But I am not successfull. I think it's becouse there is no export in dist/simple-lightbox.js. If I try to add export default SimpleLightbox to this file, both methods works fine. But modify file in node_modules is definitely not great idea. Is there something what I am missing?

    Thanks for your time and any reply.

    opened by wujido 7
  • SyntaxError: The string did not match the expected pattern.

    SyntaxError: The string did not match the expected pattern.

    I have a gallery structured with two links: One link is for SimpleBox and the other link is to delete the image.

    <!-- Leaved a few classes for simplification -->
    <div class="gallery">
      @foreach ($object->photos as $photo)
        <div style="background-image: url('{{ asset('img/' . $photo->filename) }}?h=288&w=288&fit=crop')">
          <div>
            <a class="simplelightbox" href="{{ asset('img/' . $photo->filename) }}">
              <i class="fas fa-image"></i>
            </a>
          </div>
    
          <div>
            <a onclick="if(!confirm('¿Are you sure?')) event.preventDefault()" href="{{ route('photo.delete', $photo->id) }}">
              <i class="fas fa-trash"></i>
            </a>
          </div>
        </div>
      @endforeach
    </div>
    

    When I call Simple Light Box...

    // Like this:
    new SimpleLightbox('.gallery div div .simplelightbox');
    
    // Or like this:
    new SimpleLightbox('.simplelightbox');
    

    I get this error:

    SyntaxError: The string did not match the expected pattern.
    

    On this line:

    "string" == typeof a.options.captionSelector ? o = "self" === a.options.captionSelector ? a.relatedElements[a.currentImageIndex] : document.querySelector(a.generateQuerySelector(a.relatedElements[a.currentImageIndex]) + " " + a.options.captionSelector) : "function" == typeof a.options.captionSelector && (o = a.options.captionSelector(a.relatedElements[a.currentImageIndex])),
    

    The only way to fix it, is to set captionSelector to self.

    new SimpleLightbox('.simplelightbox', { captionSelector: 'self' });
    

    Is that the only way to initialized Simple Light Box when using <i> tags instead of <img> tags ??

    opened by macCesar 1
  • isValidLink should validate image url with query parameters.

    isValidLink should validate image url with query parameters.

    If the image url has query parameter isValidLink fails and dose not render image in light box. Example my-image.jpeg?itok=33449d dose not work at the moment. In my case Drupal passes this itok parameter to serve different derivatives and its not a good approach to remove it from the url.

    Solution:

    I change the regular expression so that it validates with or without query parameter.

    return (!this.options.fileExt) || (element.getAttribute(this.options.sourceAttr) && new RegExp('(' + this.options.fileExt + ')($|\\?.*$)', 'i').test(element.getAttribute(this.options.sourceAttr)));

    opened by majid-1xinternet 0
  • html class with trailing whitespace creates an error

    html class with trailing whitespace creates an error

    When a html class attribute has a trailing whitespace, there is an error thrown due to the selector generated by generateQuerySelector() being invalid.

    image image

    Mind the . before the pseudo-selector in the highlighted area of the error message.

    I also created #283 as an attempt to fix it


    I'm using the latest version 2.11.0

    opened by MVogge 0
  • Close Button

    Close Button

    When an image is loading close button not working version : 2.10.4 https://cdnjs.cloudflare.com/ajax/libs/simplelightbox/2.10.4/simple-lightbox.min.js

    opened by Amirrzz 0
Releases(v.2.11.0)
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
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 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
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
A customizable, modular, responsive, lightbox gallery plugin.

lightGallery A customizable, modular, responsive, lightbox gallery plugin for jQuery. Demo JQuery lightGallery demo. Codepen demo Main features Fully

Sachin N 5.6k Jan 4, 2023
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
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
A modern dialog library which is highly configurable and easy to style. #hubspot-open-source

vex Demo Documentation vex is a modern dialog library which is highly configurable, easily stylable, and gets out of the way. You'll love vex because

HubSpot 6.9k Jan 5, 2023
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
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 modern dialog library which is highly configurable and easy to style. #hubspot-open-source

vex Demo Documentation vex is a modern dialog library which is highly configurable, easily stylable, and gets out of the way. You'll love vex because

HubSpot 6.9k Apr 1, 2021
Simple to use modal / alert / dialog / popup. Created with vanilla JS. No javascript knowledge required! Works on every browser and device! IE9

EinsModal The last modal / alert / dialog you will ever need! Full Documentation: https://www.einscms.com/modal EinsModal is the best solution to inte

EinsCMS 30 Oct 20, 2022
A simple vanilla and lightweight modal which is easy to expand

A simple vanilla and lightweight modal which is easy to expand

null 1 Jul 3, 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
Smooth mobile touch slider for Mobile WebApp, HTML5 App, Hybrid App

iSlider iSlider is a lightweight, high-performant, no library dependencies cross-platform slide controller. It can help handling most sliding effects,

Baidu BEFE 1.7k Nov 25, 2022
Pressure is a JavaScript library for handling both Force Touch and 3D Touch on the web

Pressure is a JavaScript library for handling both Force Touch and 3D Touch on the web, bundled under one library with a simple API that makes working with them painless.

Stuart Yamartino 2.9k Dec 29, 2022
A javascript library for multi-touch gestures :// You can touch this

hammer.js A JavaScript library for detecting touch gestures. Installation NPM npm install --save hammerjs or Yarn yarn add hammerjs or CDN https://cdn

Hammer.js 23.3k Jan 1, 2023