]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
Fix offset of touch events for vertical slider on android
authorKevin Ball <kmball11@gmail.com>
Wed, 18 May 2016 21:31:51 +0000 (14:31 -0700)
committerKevin Ball <kmball11@gmail.com>
Wed, 18 May 2016 21:31:51 +0000 (14:31 -0700)
js/foundation.slider.js

index 89da741aeb6d3a880244e5566d38b3c4febab7be..dce1ab2008b6438696fd642cc6fe5519fb3ad958 100644 (file)
@@ -275,11 +275,14 @@ class Slider {
           eventOffset = vertical ? e.pageY : e.pageX,
           halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,
           barDim = this.$element[0].getBoundingClientRect()[param],
-          // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...
           windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();
 
 
-      var eventFromBar = eventOffset - this.$element.offset()[direction];
+      var elemOffset = this.$element.offset()[direction];
+
+      // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...
+      if (eventOffset < elemOffset) { eventOffset = eventOffset + windowScroll; }
+      var eventFromBar = eventOffset - elemOffset;
       var barXY;
       if (eventFromBar < 0) {
         barXY = 0;