代码修改后的版本,全部提交
This commit is contained in:
70
Mtxfw.shop/Scripts/jquery.cycle2.swipe.js
Normal file
70
Mtxfw.shop/Scripts/jquery.cycle2.swipe.js
Normal file
@@ -0,0 +1,70 @@
|
||||
/*! swipe plugin for Cycle2; version: 20121120 */
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
// this script adds support for touch events. the logic is lifted from jQuery Mobile.
|
||||
// if you have jQuery Mobile installed, you do NOT need this script
|
||||
|
||||
var supportTouch = 'ontouchend' in document;
|
||||
|
||||
$.event.special.swipe = $.event.special.swipe || {
|
||||
scrollSupressionThreshold: 10, // More than this horizontal displacement, and we will suppress scrolling.
|
||||
durationThreshold: 1000, // More time than this, and it isn't a swipe.
|
||||
horizontalDistanceThreshold: 30, // Swipe horizontal displacement must be more than this.
|
||||
verticalDistanceThreshold: 75, // Swipe vertical displacement must be less than this.
|
||||
|
||||
setup: function () {
|
||||
var $this = $(this);
|
||||
|
||||
$this.bind('touchstart', function (event) {
|
||||
var data = event.originalEvent.touches ? event.originalEvent.touches[0] : event;
|
||||
var stop, start = {
|
||||
time: (new Date()).getTime(),
|
||||
coords: [data.pageX, data.pageY],
|
||||
origin: $(event.target)
|
||||
};
|
||||
|
||||
function moveHandler(event) {
|
||||
if (!start)
|
||||
return;
|
||||
|
||||
var data = event.originalEvent.touches ? event.originalEvent.touches[0] : event;
|
||||
|
||||
stop = {
|
||||
time: (new Date()).getTime(),
|
||||
coords: [data.pageX, data.pageY]
|
||||
};
|
||||
|
||||
// prevent scrolling
|
||||
if (Math.abs(start.coords[0] - stop.coords[0]) > $.event.special.swipe.scrollSupressionThreshold) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
$this.bind('touchmove', moveHandler)
|
||||
.one('touchend', function (event) {
|
||||
$this.unbind('touchmove', moveHandler);
|
||||
|
||||
if (start && stop) {
|
||||
if (stop.time - start.time < $.event.special.swipe.durationThreshold &&
|
||||
Math.abs(start.coords[0] - stop.coords[0]) > $.event.special.swipe.horizontalDistanceThreshold &&
|
||||
Math.abs(start.coords[1] - stop.coords[1]) < $.event.special.swipe.verticalDistanceThreshold) {
|
||||
|
||||
start.origin.trigger("swipe")
|
||||
.trigger(start.coords[0] > stop.coords[0] ? "swipeleft" : "swiperight");
|
||||
}
|
||||
}
|
||||
start = stop = undefined;
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$.event.special.swipeleft = $.event.special.swipeleft || {
|
||||
setup: function () {
|
||||
$(this).bind('swipe', $.noop);
|
||||
}
|
||||
};
|
||||
$.event.special.swiperight = $.event.special.swiperight || $.event.special.swipeleft;
|
||||
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user