2011-10-04 13 views
7

ウェブページの要素(div)を表示する必要があります。スクロール中、要素は消えてスクロールが終了した後に再び表示されます。 iphoneのページスクロール中にdivを非表示にして表示する

が複雑に追加するには:

  1. 我々のコードは、ゲストコード(したがって、我々はなどDOM構造を操作することはできません)です。私たちのコードはiPhone/iPadの(モバイルSafariブラウザ)上で動作するように意図されて

私たちは、ドキュメント/体にtouchstartイベントに耳を傾け、私たちの専用ハンドラ内の要素(div)を非表示にすることを試みました。しかし、DOMの構造がかなり複雑になるサイトでは、ハンドラの実装がの場合でも、が空であっても、スクロールの応答時間が大幅に増加します。

私たちは、スクロール中のユーザーエクスペリエンスの影響を最小限に抑えて要素(再)外観を管理する適切な方法を探しています。

答えて

0

あなたの要素は、スクリーン座標上に配置されるように流暢に、サポートされています。それはあなたの問題を解決するための良い出発点かもしれません。

+0

キーボードでは機能しません – Petah

+0

iOS 6でwookyが修正されました... "注:次のメタタグを使用してAndroid 2.2以降でのみ動作します: iOS Safariの部分的なサポートは、バグのある動作を指します。 --http://caniuse.com/css-fixed – nym

1

私はJavascriptがあなたの最高の解決策だと思います。 document.createElementを使用してDIVを任意のコンテンツに動的に挿入し、さらにjavascriptを追加してonScrollを聞くことができます。

必要に応じてネイティブコードから作成したカスタムHTMLを使用してDIVを作成することもできます。

助けが必要ですか?

+1

'onScroll'ハンドラは* after * scrollと呼ばれます。私たちの場合、スクロールが始まる前に要素*を非表示にしたいと思います。 – roee

1

あなたがjQueryユーザーであるかどうかわかりませんが、この.scroll()関数は、あなたがしたいことを正確に行うのに役立ちます。どのように動作するかを見るには、デモをご覧ください。最近のiOSのバージョン(5.xの)固定位置(CSSでposition:fixed)で

http://api.jquery.com/scroll/

関連する問題