jQueryとtouchSwipeプラグインを使用してコンテンツを上下にスクロールしています。私はいくつかの数学関連の問題を抱えており、コミュニティが私がこれを理解するのをすぐに助けることができるかどうかを見たいと思っていました。
touchSwipeの「distance」変数はゼロから始まる正の値のみを返すため、距離の値がex:(0 initial、15up、32up、20up、 5up、10down、40down)。これらすべての状況をキャッチするために、4つのifステートメントを作成しました。「方向変更」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-->
});