我使用jQuery和touchSwipe插件向上和向下滚动内容。我有一些数学相关的问题,想看看社区是否能够迅速帮助我弄清楚这一点。jQuery touchSwipe内容滚动功能
touchSwipe“distance”变量只返回从零开始的正值,所以当用户向上滑动然后决定向下滑动时会出现问题,因为距离值从ex改变:(0 initial,15up, 32up,20up,5up,10down,40down)。我创建了4条if语句来捕捉所有这些情况。如果陈述如何处理“方向改变”?
touchSwipe:http://labs.skinkers.com/touchSwipe/
的向上和向下滑动功能:
var _scrolling=false;
var _prev=0;
$("#list").swipe({
swipeStatus:function(event, phase, direction, distance, fingerCount) {
if(phase=="end"){return false;}
if(phase=="move" && !_scrolling) {
var t = parseInt($("#list").css("top").split('px')[0]);
var s = 0;
if(direction=="up" && (distance-_prev) > 0){
//still moving up
s = t-(distance-_prev);
_prev=distance;
} else if(direction=="up" && (distance-_prev) < 0){
//direction change - moving down
} else if(direction=="down" && (distance-_prev) > 0){
//still moving down
s = t+(distance-_prev);
_prev=distance;
} else if(direction=="down" && (distance-_prev) < 0){
//direction change - moving up
}
_scrolling=true;
$("#list").animate({ top:s }, 70, function() {_scrolling=false;});
}<!--if end-->
}<!--swipeStatus end-->
});