アプリ版:「スタンプのみでお礼する」機能のリリースについて

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT language="JavaScript">
<!--
img=new Array();
for(i=1;i<=4;i++){
img[i]=new Image();
img[i].src="img"+i+".gif";
}
function changeImage(i,j){
document.images[i].src=img[j].src;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<A href="#" onMouseOver="changeImage(0,2)" onMouseOut="changeImage(0,1)"><IMG src="img1.gif" border=0></A><BR>
<BR>
<A href="#" onMouseOver="changeImage(1,4)" onMouseOut="changeImage(1,3)"><IMG src="img3.gif" border=0></A>
</CENTER>
</BODY>
</HTML>
マウスオーバーしたら画像が変わるスクリプトです。
質問ですがこのスクリプトでどうしてオブジェクトを作っているのでしょうか?
普通にsrcプロパティを変更するだけではだめなのでしょうか?例えばdocument.images[i].src="img"+j+".gif"のようにしてiとjを変えるような
感じです。

A 回答 (1件)

レスポンスを良くするためだと思います。



上記のやり方だと、初期起動時に全画像を読み込みますが、

>普通にsrcプロパティを変更するだけ
のやり方だと
マウスのイベントが走った時点で、画像の読み込みに行きますから、
キャッシュが無い一回目の動きは、読み込みラグが発生します。

特に画像サイズが大きくて、サーバに上がってる際に違いが出ます。
ローカルで動かしている、又はキャッシュに画像が残ってる状態では、違いは感じられませんが、。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます^^
なるほどオブジェクトができた段階ではまだ読み込みはしないんですね。
それで軽くなることが利点だとわかりました。
詳しいご説明ありがとうございました。

お礼日時:2005/09/28 17:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!