2012-09-23 7 views
8

私はモバイルWebアプリケーションを開発しています。ただし、iOS 5.1以降のSafariではメモリが限られています。私はcss3トランジションを使用するとき、メモリ使用量を最小限に抑える必要があります。私はCSSスタイル "display:none/visibility:hidden"を使用すると、メモリの問題によってアプリケーションがクラッシュしないことがわかりました。だから私は、本当に隠されているときには、 "隠された"ものにしたい。 私の英語は悪いです。絵は私がしたいかを示すことができます。ビューポートの外にいる場合divsを "visibility:hidden"に設定するには

アップロードされた画像を**:**

picture outlay

「可視性:隠された」CSSをウェブサイトで使用されたもう一つの例時にすべてのセッションを非表示にするプロパティを画面上ではありません。

example website: Dentsu Network

+0

「画面上にある場合のみ」とは何ですか? –

+0

あまりにも知りたかったのですが...私は質問をよく理解していませんでした。 – rafaelbiten

+0

ほとんどの場合、ユーザーがスクロールしながらビット単位でページを表示したいと考えています。彼らがMashableでやっているのと同じように。 –

答えて

2

plugin for jQuery offering viewport selectorsがあります。

すべてをvisibility:hidden;に設定して、ビューポート内の項目のみを表示することができます。ユーザーがスクロールすると、ビューポートの要素を再描画して表示することもできます。

$(":in-viewport").css("visibility", "visible") 
1

あなたはdocument.body.scrollTopからのビューポートとウィンドウのサイズを計算することができるはずです。

スクロールトップが100ピクセルの場合、ユーザーは100ピクセル下にスクロールしました。そして、画面のトップ100pxを占めるdivを非表示にして、101pxで始まりdivのサイズを表示して、画面のサイズ(高さ)まで拡大することができます。

+0

答えに感謝しますが、トップが100pxを超えるすべてのdivを必要とするでしょうか? –

+0

あなたは実際に効果的な解決策を見つけましたか?おそらくメモリ管理目的のためにアンロードを見た場所だけがFlickrです。場合によっては、画像が灰色のブロックに変わってしまい、高速に上にスクロールするとキャッシュから再び読み込まれていることがあります。 – Firsh

+0

2番目の注記では、説明したとおりのものを使用しています。我々はそれらから学ぶ必要があります:) – Firsh

関連する問題