changeset 222:27e541d02be8

Implement left/right swipe gesture navigation.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 22 Mar 2018 21:59:31 +0200
parents ba89afea0f29
children 438277861f51
files mgallery.js mgallery.php
diffstat 2 files changed, 31 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mgallery.js	Thu Mar 22 21:58:13 2018 +0200
+++ b/mgallery.js	Thu Mar 22 21:59:31 2018 +0200
@@ -179,3 +179,31 @@
   ev.preventDefault();
   ev.target.click();
 }
+
+
+var mgalTouchX = null, mgalTouchY = null;
+
+function mgalTouchStart(evt)
+{
+  mgalTouchX = evt.touches[0].clientX;
+  mgalTouchY = evt.touches[0].clientY;
+}
+
+
+function mgalTouchMove(evt)
+{
+  if (mgalTouchX != null && mgalTouchY != null && evt)
+  {
+    var deltaX = mgalTouchX - evt.touches[0].clientX;
+    var deltaY = mgalTouchY - evt.touches[0].clientY;
+
+    if (Math.abs(deltaX) > Math.abs(deltaY))
+    {
+      if (deltaX < 0)
+        mgalNavigateTo(mgalPrevURL);
+      else
+        mgalNavigateTo(mgalNextURL);
+    }
+  }
+  mgalTouchX = mgalTouchY = null;
+}
--- a/mgallery.php	Thu Mar 22 21:58:13 2018 +0200
+++ b/mgallery.php	Thu Mar 22 21:59:31 2018 +0200
@@ -633,6 +633,9 @@
 mgalAddEventOb("window", window, "load", mgalAdjustImage);
 mgalAddEventOb("document", document, "keypress", mgalProcessKeyPress);
 
+mgalAddEventOb("document", document, "touchstart", mgalTouchStart);
+mgalAddEventOb("document", document, "touchmove", mgalTouchMove);
+
 adjustPID = -1;
 </script>
 <?