2011-12-24 2 views
0

固定ヘッダーとフッターと、アプリケーションのコンテンツを含むスクロール可能なdivを中央に持つajaxサイトを開発しました。このサイトは、ユーザーが中間のスクロール可能なdivの一番下に来ると、弾性スクロールが再生され、ページの下端が下に移動するという点を除いて、モバイルデバイス(iPad、Androidなど)で素晴らしい動作をします。画面の下部に表示されます。スクロール可能なdivの上に達すると同じです。モバイルサイトによるエラスティックページスクロールの防止

私はあなたが完全に次の操作を行って、弾性スクロールを防ぐことができます知っている:

$('#Platform').bind('touchmove', function (e) {  
    e.preventDefault();  
}); 

をしかし、これは明らかにまったくスクロールを防止し、ユーザーはアプリケーションの内容を見ることができません。私の考えは、上記のイベントにいくつかの条件付きロジックを入れて、e.preventDefault()がdivの一番上にあり、スクロールアップしようとしているときや、 divと彼らは下にスクロールしようとしています。

$('#Platform').bind('touchmove', function (e) { 
    var platform = $('#Platform'); 
    if ((platform.scrollTop() + platform.innerHeight()) >= platform[0].scrollHeight) { 
     e.preventDefault(); 
    } 
}); 

上記のコードは基本的に、彼らはスクロール可能なdiv要素の一番下にあるかどうかを判断し、それらがある場合、e.preventDefault()が呼び出されます。私はこのような何かをやって始めました。これは素晴らしいですが、一度divの一番下に達すると、再びスクロールすることはできません!私は何らかの方法でユーザーがスワイプしているかどうかを判断し、それを私のロジックに含める必要があると考えています。彼らが一番下にあり、スワイプしている場合、スクロールしないでください。しかし、彼らが一番下にあり、スワイプしているなら、スクロールすることができます。そして彼らがdivの一番上にいるときのためのvisa versa。

これは私の目標を達成するための最良の方法ですか?より良い方法がありますか?これが私がすべきことならば、どうやってスワイプの方向を決めますか?

また、iPad、iPhone、Android搭載端末でウェブサイトをテストする方法は、開発サーバーに展開するよりも簡単ですか?私は私のコードを簡単にデバッグすることができなかったという事実を除いて、私の提案されたソリューションをもっと使いこなしていたでしょう。

ありがとうございました。

答えて

0

http://cubiq.org/iscroll-4あなたの用途に適しています。 Macをお持ちの場合は、xCode/iPhone SDKをダウンロードする際に取得するiPhone/iPadシミュレータを使用するだけで簡単にプログラムをデバッグできます。

関連する問題