{"id":16758131,"url":"https://github.com/foo123/touchtouch","last_synced_at":"2026-03-16T16:31:18.635Z","repository":{"id":54418017,"uuid":"457819084","full_name":"foo123/touchTouch","owner":"foo123","description":"An enhanced variation of touchTouch Optimized Mobile Gallery in pure vanilla JavaScript","archived":false,"fork":false,"pushed_at":"2023-12-30T07:30:37.000Z","size":3403,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T14:51:26.279Z","etag":null,"topics":["desktop","image-gallery","image-slideshow","mobile"],"latest_commit_sha":null,"homepage":"https://foo123.github.io/examples/touchtouch/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foo123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-10T14:43:35.000Z","updated_at":"2024-12-18T14:51:55.000Z","dependencies_parsed_at":"2025-02-17T16:46:38.371Z","dependency_job_id":null,"html_url":"https://github.com/foo123/touchTouch","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FtouchTouch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FtouchTouch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FtouchTouch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FtouchTouch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foo123","download_url":"https://codeload.github.com/foo123/touchTouch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248261905,"owners_count":21074224,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop","image-gallery","image-slideshow","mobile"],"created_at":"2024-10-13T04:04:14.521Z","updated_at":"2026-03-16T16:31:13.613Z","avatar_url":"https://github.com/foo123.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# touchTouch\n\nEnhanced Vanilla JavaScript version of [touchTouch Optimized Mobile Gallery](https://github.com/tutorialzine/touchTouch) by Martin Angelov\n\n\n![touchTouch Optimized Mobile Gallery](/touchtouch.jpg)\n\n\n**version: 1.5.2** (9.8 kB minified)\n\n\n[Live Demo](https://foo123.github.io/examples/touchtouch/)\n\n\n**MIT License**\n\n\n**API:** (see `test/demo.html`)\n\n```html\n\u003cdiv id=\"gallery\"\u003e\n\u003ca class=\"magnifier\" href=\"./imgs/1.jpg\"\u003e\u003cimg src=\"./imgs/thumbs/1.jpg\" /\u003e\u003c/a\u003e\n\u003ca class=\"magnifier\" href=\"./imgs/2.jpg\"\u003e\u003cimg src=\"./imgs/thumbs/2.jpg\" /\u003e\u003c/a\u003e\n\u003ca class=\"magnifier\" href=\"./imgs/3.jpg\"\u003e\u003cimg src=\"./imgs/thumbs/3.jpg\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n```\n```javascript\nconst slideshow = touchTouch(document.getElementById('gallery').querySelectorAll('.magnifier'), options);\nslideshow.showGallery(); // show gallery programmatically\nslideshow.hideGallery(); // hide gallery programmatically\nslideshow.showNext(); // navigate to next image programmatically\nslideshow.showPrevious(); // navigate to previous image programmatically\nslideshow.dispose(); // dispose the slideshow instance\n```\n\n**Supported Options:**\n\n* `slider` custom css class for gallery slider\n* `prevArrow` custom css class for previous button\n* `nextArrow` custom css class for next button\n* `showCaption` boolean flag to show image numbering (**default** `false`)\n* `customCaption` boolean flag to take caption from image title (**default** `false`)\n* `caption` custom css class for caption\n* `swipe` duration in `ms` for swipe animation (**default** `400`)\n* `fit` scale factor in `[0, 1]` (relative to viewport dimensions) to fit image dimensions to current viewport (**default** `0` disabled)\n* `fitsize` max size for fit to take place (**default** `Infinity` disabled)\n* `auto` boolean flag indicating that passed images are the hrefs of the gallery images themselves, instead of clickable elements (**default** `false`)\n\n\n**Supported Actions:**\n\n* **Keyboard Navigation**: ESC (close), LEFT (previous image), RIGHT (next image)\n* **Mouse Navigation**: CLICK BACKGROUND (close), CLICK LEFT ARROW (previous image), CLICK RIGHT ARROW (next image), SWIPE RIGHT (previous image), SWIPE LEFT (next image)\n* **Touch Navigation**: TAP BACKGROUND (close), SWIPE RIGHT (previous image), SWIPE LEFT (next image)\n* **Keyboard Gestures**: UP/DOWN (scale up/down image), CTRL/META + UP/DOWN/LEFT/RIGHT (move scaled image)\n* **Mouse Gestures**: CTRL/META + WHEEL (scale up/down image), CTRL/META + MOVE (move scaled image)\n* **Touch Gestures**: TWO-FINGER PINCH (scale up/down image), TWO-FINGER MOVE (move scaled image)\n\n\n**see also:**\n\n* [ModelView](https://github.com/foo123/modelview.js) a simple, fast, powerful and flexible MVVM framework for JavaScript\n* [Contemplate](https://github.com/foo123/Contemplate) a fast and versatile isomorphic template engine for PHP, JavaScript, Python\n* [HtmlWidget](https://github.com/foo123/HtmlWidget) html widgets, made as simple as possible, both client and server, both desktop and mobile, can be used as (template) plugins and/or standalone for PHP, JavaScript, Python (can be used as [plugins for Contemplate](https://github.com/foo123/Contemplate/blob/master/src/js/plugins/plugins.txt))\n* [Paginator](https://github.com/foo123/Paginator)  simple and flexible pagination controls generator for PHP, JavaScript, Python\n* [ColorPicker](https://github.com/foo123/ColorPicker) a fully-featured and versatile color picker widget\n* [Pikadaytime](https://github.com/foo123/Pikadaytime) a refreshing JavaScript Datetimepicker that is ightweight, with no dependencies\n* [Timer](https://github.com/foo123/Timer) count down/count up JavaScript widget\n* [InfoPopup](https://github.com/foo123/InfoPopup) a simple JavaScript class to show info popups easily for various items and events (Desktop and Mobile)\n* [Popr2](https://github.com/foo123/Popr2) a small and simple popup menu library\n* [area-select.js](https://github.com/foo123/area-select.js) a simple JavaScript class to select rectangular regions in DOM elements (image, canvas, video, etc..)\n* [area-sortable.js](https://github.com/foo123/area-sortable.js) simple and light-weight JavaScript class for handling smooth drag-and-drop sortable items of an area (Desktop and Mobile)\n* [css-color](https://github.com/foo123/css-color) simple class for manipulating color values and color formats for css, svg, canvas/image\n* [jquery-plugins](https://github.com/foo123/jquery-plugins) a collection of custom jQuery plugins\n* [jquery-ui-widgets](https://github.com/foo123/jquery-ui-widgets) a collection of custom, simple, useful jQueryUI Widgets\n* [touchTouch](https://github.com/foo123/touchTouch) a variation of touchTouch jQuery Optimized Mobile Gallery in pure vanilla JavaScript\n* [Imagik](https://github.com/foo123/Imagik) fully-featured, fully-customisable and extendable Responsive CSS3 Slideshow\n* [Carousel3](https://github.com/foo123/Carousel3) HTML5 Photo Carousel using Three.js\n* [Rubik3](https://github.com/foo123/Rubik3) intuitive 3D Rubik Cube with Three.js\n* [MOD3](https://github.com/foo123/MOD3) JavaScript port of AS3DMod ActionScript 3D Modifier Library\n* [RT](https://github.com/foo123/RT) unified client-side real-time communication for JavaScript using XHR polling / BOSH / WebSockets / WebRTC\n* [AjaxListener.js](https://github.com/foo123/AjaxListener.js): Listen to any AJAX event on page with JavaScript, even by other scripts\n* [asynchronous.js](https://github.com/foo123/asynchronous.js) simple manager for asynchronous, linear, parallel, sequential and interleaved tasks for JavaScript\n* [classy.js](https://github.com/foo123/classy.js) Object-Oriented mini-framework for JavaScript\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoo123%2Ftouchtouch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoo123%2Ftouchtouch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoo123%2Ftouchtouch/lists"}