PhotoSwipe
JavaScript framework independent image gallery
...Images can be changed even when current slide is zoomed. Swiping is not blocked during the transition. PhotoSwipe manipulates the browser’s history so that the user can link to each gallery item and close the gallery via the “back” button. The initial URL is restored when the gallery is closed. PhotoSwipe adds a history record when the gallery is opened, which allows the user to close it via the browser’s “back” button. This feature comes as a module. You can exclude it from the build entirely, or fork it to fit the requirements of your product’s URL structure.