2011-12-10 26 views
4

すべてのOSが同じ、醜いウィンドウのスクロールバーを表示しないように、私はカスタム水平スクロールバーを作っています。スクロールバーを非表示にすることはできますが、オーバーフローを防ぐことはできますか?

私はスクロールトップを持ついくつかの部門を使ってJSを使って1つの方法を知っていますが、デフォルトのスクロールバーを隠す必要がありますが、onscrollイベントを検出できるようにオーバーフローを残しておきます(OSXタッチパッド、mousewheel、私のためにすべて処理され、onscrollコールバックを起動します)。

アイデア?

+1

タッチパッドは問題かもしれないが、あなたは、マウスホイールイベントの代わりの要素をスクロール可能にするスクロールイベントをリッスンすることができます。 – DanMan

答えて

0

自分ですべてを管理する必要があります。 iOS端末では、デスクトップブラウザのようなスクロールイベントは発生しません。あなたはタッチの最後にのみスクロールイベントを持っています。 すべてのスクロールシーケンスを追跡するには、タッチスタート/タッチ移動/タッチ(およびタッチキャンセル)を追跡する必要があります。

http://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

0

は、これらの例を見てみましょう:onscrollイベントがトリガされた場合http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html

わからない、それを試したことがありません。そうでない場合は、マウスホイールプラグインが含まれていると、おそらくあなたが望むものを処理するコールバックを提供します...

+0

私はこれを達成するために5つ以上のファイルをプルする必要はありません...しかし、リンクのおかげで。 –

0

overflow:hiddenあなたがしたいものを行う必要があります。それでもプログラムでスクロールすることができます。

+0

onScrollイベントはありませんので、マウスホイールイベント、タッチパッドイベント、ドラッグイベントなどに接続する必要があります。スクロールしようとしているdivの左右にあるdivをフロートさせるだけですマウスがそれらの上を移動し、それぞれスクロールする。 –

+1

マウス以外のユーザーはアクセスできません。 'オーバーフロー:スクロール'とスクロールバー自体のマニュアルスタイリングを試すこともできますが、これは完全に標準化されていませんが、この状況では十分に機能するかもしれません。あるいは、プラットフォームの多様性をあきらめて受け入れることもできます。 – zwol

関連する問題