Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. $.fn.swipe = function( callback ) {
  2. var touchDown = false,
  3. originalPosition = null,
  4. $el = $( this );
  5.  
  6. function swipeInfo( event ) {
  7. if ('undefined' !== typeof event.originalEvent.pageX) {
  8. var x = event.originalEvent.pageX,
  9. y = event.originalEvent.pageY,
  10. dx, dy;
  11. }else{
  12. var x = event.originalEvent.touches[0].pageX,
  13. y = event.originalEvent.touches[0].pageY,
  14. dx, dy;
  15. }
  16.  
  17. dx = ( x > originalPosition.x ) ? "right" : "left";
  18. dy = ( y > originalPosition.y ) ? "down" : "up";
  19.  
  20. return {
  21. direction: {
  22. x: dx,
  23. y: dy
  24. },
  25. offset: {
  26. x: x - originalPosition.x,
  27. y: originalPosition.y - y
  28. }
  29. };
  30. }
  31.  
  32. $el.on( "touchstart mousedown", function ( event ) {
  33. touchDown = true;
  34. if ('undefined' !== typeof event.originalEvent.pageX) {
  35. originalPosition = {
  36. x: event.originalEvent.pageX,
  37. y: event.originalEvent.pageY
  38. };
  39. }else{
  40. originalPosition = {
  41. x: event.originalEvent.touches[0].pageX,
  42. y: event.originalEvent.touches[0].pageY
  43. };
  44. }
  45. } );
  46.  
  47. $el.on( "touchend mouseup", function () {
  48. touchDown = false;
  49. originalPosition = null;
  50. } );
  51.  
  52. $el.on( "touchmove mousemove", function ( event ) {
  53. if ( !touchDown ) { return;}
  54. var info = swipeInfo( event );
  55. callback( info.direction, info.offset );
  56. } );
  57.  
  58. return true;
  59. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement