8

ここにサンプルコード:http://pastebin.com/95z3pftQ

固定ヘッダーと「コンテンツ」セクションを使用してモバイルページを作成しようとしています。このセクションは、外部(サニタイズされていますが、それ以外は任意)のHTMLで埋められます。ネイティブに相当するものがない iscroll垂直/水平スクロールとズームをサポートする必要があるため、使用する必要があります。

問題は、width=device-widthメタビューポートディレクティブを使用すると、モバイルSafariは、幅が指定されていない限り、コンテンツの幅に関係なく、すべてのブロックレベルの要素のサイズを画面の幅に変更することです。 iscroll次に、コンテナの幅(画面の幅)を調べますが、水平方向にスクロールするコンテンツがまだあることに気づいていません。したがって、この例ではdiv#container、iPhoneで計算された幅は290pxですが、の計算された幅table#really-wide-contentは1000pxです。

ページ上の1つのdiv内のメタビューポートディレクティブの効果を無効にする方法はありますか?必要に応じてプログラムでインラインスタイルを変更することはできますが、コンテンツの幅やHTML構造がどのようなものかを事前に知ることはできません。

4

1 に答える 1

0

次の JQuery の例のように、ロード後のある時点で iScroll の幅を設定できますか。

$('#scroller').width(your_width);

https://stackoverflow.com/a/13898458/1085891経由

ここで提案されているように、ページがロードされた後に iScroll を破棄して再作成できる方法はありますか?

width=device-widthまた、ロードが発生した後にビューポートの幅を に設定できますか? おそらくこれにより、iScroll が最初にコンテンツに合わせてロードできるようになるでしょう。

于 2012-12-20T13:18:36.767 に答える