Created
October 23, 2017 13:10
-
-
Save jarodium/85cfb6d62e29e693c79cdb943f3194f2 to your computer and use it in GitHub Desktop.
Updated version of swipe.js from Blake Simpson's Blog. This version supports miltitouch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $.fn.swipe = function( callback ) { | |
| var touchDown = false, | |
| originalPosition = null, | |
| $el = $( this ); | |
| function swipeInfo( event ) { | |
| if ('undefined' !== typeof event.originalEvent.pageX) { | |
| var x = event.originalEvent.pageX, | |
| y = event.originalEvent.pageY, | |
| dx, dy; | |
| }else{ | |
| var x = event.originalEvent.touches[0].pageX, | |
| y = event.originalEvent.touches[0].pageY, | |
| dx, dy; | |
| } | |
| dx = ( x > originalPosition.x ) ? "right" : "left"; | |
| dy = ( y > originalPosition.y ) ? "down" : "up"; | |
| return { | |
| direction: { | |
| x: dx, | |
| y: dy | |
| }, | |
| offset: { | |
| x: x - originalPosition.x, | |
| y: originalPosition.y - y | |
| } | |
| }; | |
| } | |
| $el.on( "touchstart mousedown", function ( event ) { | |
| touchDown = true; | |
| if ('undefined' !== typeof event.originalEvent.pageX) { | |
| originalPosition = { | |
| x: event.originalEvent.pageX, | |
| y: event.originalEvent.pageY | |
| }; | |
| }else{ | |
| originalPosition = { | |
| x: event.originalEvent.touches[0].pageX, | |
| y: event.originalEvent.touches[0].pageY | |
| }; | |
| } | |
| } ); | |
| $el.on( "touchend mouseup", function () { | |
| touchDown = false; | |
| originalPosition = null; | |
| } ); | |
| $el.on( "touchmove mousemove", function ( event ) { | |
| if ( !touchDown ) { return;} | |
| var info = swipeInfo( event ); | |
| callback( info.direction, info.offset ); | |
| } ); | |
| return true; | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment