web-dev-qa-db-ja.com

iPhone Mobile Safariの内部コンテンツ(div / iframes)を1本の指でスクロール

サブ:iPhoneモバイルサファリウェブアプリケーション

ユーザーがスクロールしても、Webページの一部を表示したままにする必要があります。 CSSプロパティposition:fixedが期待どおりに機能しません。でoverflow:autoプロパティを使用するか、2本の指でスクロールする必要がありますが、これは私が望んでいることではありません。

Javascriptまたはiphonesafari Touch API(touchMoveイベント)を使用して、内側の「div」または「iframes」のコンテンツを1本の指でスクロールする方法はありますか?

15
Salini Krishnan

CSSの場合(iOS 5の場合):

-webkit-overflow-scrolling: touch;
31

本来、divでもiframeでも不可能なので、タッチイベントをリッスンするJavaScriptで解決する必要があります。私はプロジェクトでこれと同じ問題を調査していますが、現時点では、この問題を解決しているjavascriptライブラリがいくつか見つかりました。

現在、これを検討していますが、まだコミットしていません。

http://cubiq.org/iscroll-4

Three20で有名なJoeHewittは最近、このソリューションの開発も開始しましたが、彼は開発プロセスの初期段階にあり、もう1人は2年ほど前から存在しています。

http://joehewitt.github.com/scrollability/

1
scottbates22

指1本で使用できますが、内側のDIVのstyle.heightを指定する必要があります

<div id="container-div" style="overflow:hidden">
   <div id="inner-div" style="overflow-y:auto; height:1024px"> 
   <!-- IMPORTANT!! you must specify the height of the inner div to make it scrollable -->
0
Soyoes