2011-07-14 10 views
0

私はサイトDoNothingFor2MinutesがJavaScriptを使用してどのように画像をプレビューしているかを見ていて、いくつか質問がありました。私はそのサイトがすべての画像をプリロードしていないことに気付いた。実際に、サイトで見ることができる最初の画像の一部は、背景画像(海と太陽)とタイトル画像(「2分間何もしない」)の両方を含む事前ロードされていません。JavaScript画像プレロード

1 )ページ上ですぐに使用されるイメージをプリロードしない理由はありますか?

2)それは意味がありますか、背景画像をプリロードすることは可能ですか?

3)ページソースを表示すると、プリロードされていないイメージが多数表示されますが、プレロードされたイメージは表示されません(spread-the-calm.pngは例外です)。プリロードされたイメージがページソースにない理由がありますか?

ありがとうございます。私は初心者のビットです

var preload = function(sources) { 
      var images = []; 
      var length = sources.length; 
      for(var i = 0; i < length; i++) { 
      images[i] = new Image(); 
      images[i].src = sources[i]; 
      } 
     } 

     preload(['facebook.png', 'facebook-hover.png', 'twitter.png', 'twitter-hover.png', 'like-background.png', 'spread-the-calm.png', 'tewy.png', 'tewy-hover.png', 'coderholic.png', 'coderholic-hover.png', 'box.png', 'box-hover.png', 'email-capture.png']); 

答えて

1

私はサイトがちょうどCSSのホバーのために使用される画像をプリロードされていることを推測しています、彼は代わりにHTMLを使用するJavaScriptで作成されていますimages配列から画像を参照しています - ユーザーがホバーしてオンホバー画像が利用できず、ロードされなければならないときに、ちらつき/読み込みが発生することはありません。

サイト所有者は、他のすべての画像では通常のサイクルの一部。

はいユーザーは特に円滑なホバリングの移行を知らないため、最適化されています。

1

ページによって直接参照されるイメージをプリロードする必要があるのはなぜですか?それらは、ページのソースが解析されるときにそれらへの参照が遭遇すると要求されます。

プリロードは、他の要素のマウスオーバーなどで表示される画像に使用される可能性があります。プリロードとは、画像が既に要求されていることを意味し、画像がダウンロードされる間に遅延がないことを意味する。これはおそらく、HTMLにプリロードされた画像が表示されない理由です。

1

1)一般に、重要ですぐに表示される画像をプリロードする必要があります。巨大な画像の背景はすぐに読み込む必要があるようには見えません。

2)実用的であるかどうかは、実際の状況によって異なる場合があります。

3)開発者は(例えば、<img src="...

関連する問題