2

iPadでのみ表示されるWebページにiPhoneスタイルのスクロール慣性を追加しようとしています。

一方向(scrollLeft)でスクロールが機能していますが、他の方向では機能しません。これは非常に単純な関数です。

function onTouchEnd(event){
                event.preventDefault();
                inertia = (oldMoveX - touchMoveX);
                
                // Inertia Stuff
                if( Math.abs(inertia) > 10 ){

                    $("#feedback").html(inertia);
                    
                    $("#container").animate({
                        'scrollLeft': $("#container").scrollLeft() + (inertia * 10)
                    }, inertia * 20);
                    
                }else{
                    
                    $("#feedback").html("No Inertia");
                    
                }
                
            }

私はそれをtouchend体のイベントに結び付けました。慣性は、タッチが終了したときの古いmoveX位置と最新のmoveX位置の差です。

scrollLeft次に、サムネイルの束を含むdivのプロパティをアニメーション化しようとします。私が言ったように、これは左にスクロールするときは機能しますが、右にスクロールするときは機能しません。

何か案は?

4

1 に答える 1

4

"animate(...)" の 2 番目の引数は継続時間であり、負の値であってはなりません。

試す:

...
$("#container").animate({
      'scrollLeft': $("#container").scrollLeft() + (inertia * 10)
   }, Math.abs(inertia * 20));
...
于 2010-05-02T09:17:43.840 に答える