рдПрдХ рдЕрдиреБрдХреВрд▓реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдЬрд┐рд╕рдореЗрдВ рдмреИрдирд░, рдЧреИрд▓рд░реА, рдпрд╛ рдХреЛрдИ рд░реЛрдЯреЗрд╢рди рдмреНрд▓реЙрдХ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд░реВрдк рд╣реИ рдЬреЛ рди рдХреЗрд╡рд▓ рдкрд┐рдЫрдбрд╝реЗ рддреАрд░ рдХреЗ рд╕рд╛рде, рдмрд▓реНрдХрд┐ рдЗрд╢рд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦрддрд╛ рд╣реИ, рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдбрд┐рд╡рд╛рдЗрд╕ рдЗрд╕реЗ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрд╣ рд▓реЗрдЦ jquery рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП Microsoft рдХреЗ рдХрд╕реНрдЯрдо рд╡рд┐рдЬрд╝рди рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд
touchstart
рдФрд░
touchstart
рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкреНрд▓рдЧрдЗрди, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА, "рдмреИрдХ" рдФрд░ "рдлреЙрд░рд╡рд░реНрдб" рд╕реНрд╡рд╛рдЗрдк-рдЬреЗрд╕реНрдЪрд░ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдИ рддреБрд▓рдирд╛рддреНрдордХ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд╣рд╛рдВ рд╕реЗ рдХреЛрдб рдХреА рдореБрдЦреНрдп рдХреНрд░рд┐рдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдЖрдк рдЗрд╕реЗ рдЗрд╕рдХреА рд╕рдВрдкреВрд░реНрдгрддрд╛ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдиреАрдЪреЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджреЛ рдХрд╛рдо рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
#swipe { -ms-touch-action: none; }
рдкрд╣рд▓рд╛ рдмрд┐рдВрджреБ рд╣реИ
X-UA-Compatible
рдореЗрдЯрд╛ рдЯреИрдЧ IE8 + рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЛрдб рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рджреВрд╕рд░рд╛ рдмрд┐рдВрджреБ - рд╕рдВрд╡реЗрджреА рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рдорд╛рдирдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдкреЙрдЗрдВрдЯрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рдПрдХ IE рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╕реНрдкрд░реНрд╢ рдЗрд╢рд╛рд░реЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ, рд╣рдо рдПрдХ рдЪрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
var IE = window.navigator.msPointerEnabled;
рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдШрдЯрдирд╛ рдХреА рдЪреБрдиреМрддреА рдХреНрдпрд╛ рджрд┐рдЦрддреА рд╣реИред
var touchElem = document.getElementById('swipe'); if (IE && window.MSGesture) { //events for IE var eventStart = "MSGestureStart", eventMove = "MSGestureChange"; var msGesture = new MSGesture(); msGesture.target = touchElem; touchElem.addEventListener('MSPointerDown', function(event) { msGesture.addPointer(event.pointerId); }); } else { //events for other browsers var eventStart = "touchstart", eventMove = "touchmove"; } touchElem.addEventListener(eventStart, function (e) { swipe.init(e, eventMove); }, false);
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЧреИрд░-IE рдХреЗ рд▓рд┐рдП
swipe.init
рдореЗрдердб рдореЗрдВ, рд╣рдо рдЯрдЪ рдЗрд╡реЗрдВрдЯ рдХреЗ рд╕реНрдЯрд╛рд░реНрдЯ рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯреНрд╕ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╣рдо
swipe.onTouchMove
рдХрд░рддреЗ рд╣реИрдВред
if(!IE) { if (e.pageX || e.targetTouches[0].pageX) { swipe.variable.startX = e.pageX || e.targetTouches[0].pageX; } } touchElem.addEventListener(eventMove, swipe.onTouchMove, false);
swipe.onTouchMove
рдЕрдВрджрд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░
swipe.onTouchMove
рднреА рд╣реЛрддрд╛ рд╣реИред
if(IE) { if (e.detail == e.MSGESTURE_FLAG_INERTIA) return; swipe.variable.translationX += e.translationX; } else { var newX = e.pageX || e.targetTouches[0].pageX; swipe.variable.translationX = newX - swipe.variable.startX; } if (Math.abs(swipe.variable.translationX) > 10) { swipe.switchDirection(); }
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛
10
рдкреАрдПрдХреНрд╕ рдореЗрдВ рдСрдлрд╕реЗрдЯ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдЗрд╢рд╛рд░реЗ рдХреЗ рд╕рдордп рд╣реБрдИ рдереАред рдЗрд╕реЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдкрд░реНрд╢ рдХрд░рдиреЗ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧреАред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
switchDirection
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЗрд╢рд╛рд░реЗ рдХреА рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдпрджрд┐
swipe.variable.translationX
рдорд╛рди рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИ, рддреЛ
swiperight
рдЗрд╡реЗрдВрдЯ рдХреЛ
swiperight
рдЧрдпрд╛
swiperight
, рдФрд░ рдпрджрд┐ рдпрд╣ рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИ, рддреЛ
swipeleft
ред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ, рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣реА рдЬреЛ рдХрд┐ рд╕рд░рд▓ рддреАрд░ "рдмреИрдХ" рдпрд╛ "рдлреЙрд░рд╡рд░реНрдб" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╕рдордп рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдЬреЗрд╕реНрдЪрд░рд╡реЙрдЗрдк рдкреНрд▓рдЧрдЗрди рдХреЛ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
$('#swipe').gestureSwipe('event', eventHandler);
рдЬрд╣рд╛рдВ
event
swipeleft
рдпрд╛
swiperight
рд╣реЛ рд╕рдХрддреА рд╣реИ
Microsoft рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ ред
рдПрдХ рдкреВрд░реНрдг рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред