2011-10-24 15 views
2

モバイルサイトでJQueryを使用して、位置の不在時にスクロールでヘッダーナビゲーションを再配置します。これはうまくいきます。ユーザーがヘッダーのスクロールを停止すると、ページの先頭に戻るようになります。 iPhone/Androidでスクロール開始イベントを取得する方法

は、ユーザー がスクロールし、彼らが停止したときに、それはでスライド持つようにを開始したとき、私は)(ヘッダを非表示にするユーザーのエクスペリエンスを向上させるために。問題は、ユーザーがスクロールを停止したときにのみスクロールイベントが発生することです。私は、iOS固有のタッチイベントがあることを読んだが、相互に共通のコードを使用してiOSとAndroid上でスクロール開始イベントをキャプチャする方法はあるのだろうか?私は信じてい jQuery Mobile

おかげ

答えて

5

は、これを行うことができます。次のコードを見てみましょう:

$(document).bind("scrollstop", function() { 

//What occurs when the scrolling stops 
alert("You have stopped scrolling"); 
}); 

$(document).bind("scrollstart", function() { 

//What occurs when the scrolling starts 
alert("You have started scrolling"); 

}); 
+0

ありがとう、私はこれを考えて、私はサイト上で他のいくつかのJQueryモバイル機能を使用することができます。 – Marcus

+3

実際には、スクロールが開始されてから停止するまで、iOSはDOM操作を許可しません。残念ながら、scrollstartのヘッダーを削除することはできません。 – Marcus

2

をあなたはjQueryのTouchwipeで始めることができます:それは新しいイベント、wipeleftとwiperightを追加するプラグインです。

容易には、Android、IOSとBBOSで動作 http://plugins.jquery.com/project/Touchwipe-iPhone-iPad-wipe-gesture

(Yさんへのxの変化)垂直ものに水平ワイプを変更するために改変することができます。

+0

私はこれについて知らなかった、将来有用になるだろう。しかし、このためにJQuery Mobileを使ってみると、私は他のいくつかの機能を使うことができます。 – Marcus

2

このスクロールスタートイベントは、アンドロイドのデフォルトのアンドロイドブラウザでは問題があります。2.3.4スクロールスタートイベントは、ユーザーがスクロールを開始したときの100%の時間を起動しません。私は問題を追跡しようとしている。私はscrollstartイベントの直前に発生するイベントを探しています。私のコードのどこかで矛盾した出来事かもしれません。私は最初にそれを排除する必要があります。

関連する問題