2011-11-14 1 views
6

場合、私は他の人のJavaScriptコードを分析し、私はブラウザがダイナミックな画像をサポートしているかどうかを確認するために使用されている他のサイトでフンこの条件のJavascript(document.images)

if (document.images) 

を見つけましたよ。画像上にマウスを置くと、他の画像が読み込まれるようなものがあります。これは非常に古いJavaScriptのようです。それは今日それを使用する意味ですか?この状態に別の目的がありますか?

+0

あなたは 'document.images'が何であるか分かりません。 'document'オブジェクトのこの' 'image''プロパティが何であるか知りたいですか?さて、[MDN](https://developer.mozilla.org/en/DOM/document.images)で見てください... –

答えて

3

ブラウザが画像の配列をサポートしている場合、この条件はtrueを返します。あなたは、コードの並べ替えを見つけることができますどこのInternet Explorer> 3サポート通常今

+1

ロールオーバーなどがたくさんある場合、イメージのプリロードは重要です。 –

+0

I画像のプリロードではなく、コーセルのブラウザサポートのチェックについて:) – fliptheweb

+0

このコードは2011年7月に作成されたため、奇妙です。 ありがとう、ありがとう!私は自分のコードでコードを書くつもりです。 – andriy

1

プリロード画像を、それをチェックアウトする必要がない、これはこの記事http://www.quirksmode.org/js/support.html

をご確認ください:)そして、はい、それは非常に古いJSをですあなたは説明しています。現代のブラウザではこれは問題ではありませんが(非同期であり、一度に多数の画像をダウンロードできます。最初に何が画面に表示されているかを把握してダウンロードできます)。ただし、これを削除すると、作業しているアプリケーションのパフォーマンスが低下する可能性があります。

参考文献:

1

あなたが本当に古いブラウザのこの種を対象とする必要がある場合を除き、あなたは時代遅れの余分なコードとして、このチェックマークを付けることができますそして、すべての主要なブラウザがイメージのプリロードをサポートしていると仮定します(実際にはそうしています)。したがって、document.imagesオブジェクトがあります。

document.imagesオブジェクトは、現在のドキュメントに読み込まれたイメージの配列です。このイメージを使用して、後でもっと確実に読み込まれるイメージ(マウスオーバーしたイメージ)を追加してスムーズにします効果。

この条件で実行されるチェックでは、ブラウザにdocument.imagesオブジェクトがあることが保証されます。

これは実際にこのようにする必要がない限り、イメージ駆動エフェクトを設計する最良の方法ではありませんが、CSSではより良い(より速く小さな)結果が得られるためです。

+0

ヤップ、私はそれが同じものであることを理解しています:今すぐCSSでホバー – andriy

+0

はい、ホバーセレクターを使ってマウスオーバー効果を設定できます、およびCSSスプライトを使用して、プリロードする必要があるすべての小さな画像で構成された単一の画像をプリロードします。 – AlQafir

関連する問題