Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Touch Optimized Mobile Gallery
JavaScript CSS
Branch: master

Merge pull request #22 from adamalton/master

Adding keydown listener for 'esc' key to close the overlay.
latest commit 406e98cff2
@martinaglv authored

jQuery TouchTouch

A jQuery 1.7+ plugin that makes it easy to display a set of photos on your site as a touch-optimized photo gallery.


  • Smooth CSS3 animations and transitions;
  • A responsive CSS interface that fills the screen and responds to changes in device orientation;
  • Preloads photos only when they are needed;
  • Supports swiping through photos;
  • Displays onscreen arrows and listens for arrow key presses on desktop browsers;
  • Supports multiple galleries;

How to use

Using it is simple. Drop the touchTouch folder (you can find it in the download under assets/) somewhere in your website folder tree. After this, include touchTouch/touchTouch.css in your <head>, and touchTouch.jquery.js right after the jQuery library. The script depends on jQuery 1.7 or above.

After you do all this, simply call the gallery as a regular jQuery plugin:


    // Initialize the gallery
    $('.thumbs a').touchTouch();


You must pass anchor elements which point to images in their href attributes for the gallery to work. In addition to conveying which images are to be displayed in the gallery, this also provides a graceful fallback in case JavaScript is not available.

Multiple Galleries

To show specific sets of pictures, add a "data-gallery" attribute to either:

Each of the anchor tags you want in that set, with a unique value.

    <a href="image.jpg" data-gallery="hongkong" title="Lion Rock"></a>


Any ancestor containing the elements selected by the plugin. Note that this method takes priority if both are used on the same set.

    <ul data-gallery="hongkong">

Of course you can ignore all this and all selected elements will be displayed.


Released under the MIT license


Go to Tutorialzine for a live demo.

Something went wrong with that request. Please try again.