You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
47 lines
1.1 KiB
/**
|
|
* mui gesture flick[left|right|up|down]
|
|
* @param {type} $
|
|
* @param {type} name
|
|
* @returns {undefined}
|
|
*/
|
|
(function($, name) {
|
|
var flickStartTime = 0;
|
|
var handle = function(event, touch) {
|
|
var session = $.gestures.session;
|
|
var options = this.options;
|
|
var now = $.now();
|
|
switch (event.type) {
|
|
case $.EVENT_MOVE:
|
|
if (now - flickStartTime > 300) {
|
|
flickStartTime = now;
|
|
session.flickStart = touch.center;
|
|
}
|
|
break;
|
|
case $.EVENT_END:
|
|
case $.EVENT_CANCEL:
|
|
touch.flick = false;
|
|
if (session.flickStart && options.flickMaxTime > (now - flickStartTime) && touch.distance > options.flickMinDistince) {
|
|
touch.flick = true;
|
|
touch.flickTime = now - flickStartTime;
|
|
touch.flickDistanceX = touch.center.x - session.flickStart.x;
|
|
touch.flickDistanceY = touch.center.y - session.flickStart.y;
|
|
$.trigger(session.target, name, touch);
|
|
$.trigger(session.target, name + touch.direction, touch);
|
|
}
|
|
break;
|
|
}
|
|
|
|
};
|
|
/**
|
|
* mui gesture flick
|
|
*/
|
|
$.addGesture({
|
|
name: name,
|
|
index: 5,
|
|
handle: handle,
|
|
options: {
|
|
flickMaxTime: 200,
|
|
flickMinDistince: 10
|
|
}
|
|
});
|
|
})(mui, 'flick'); |