• ベストアンサー

画像のキャッシュとプリロード

かねがね疑問に思っていたのですが、ロールオーバーの画像とかはonLoadでプリロードされるので、マウスをのせればすぐにOver画像が表示されると思っていたのですが、現実はその時にネットからくるとしか思えない動きをしている。 またキャッシュされたものはその後の表示がキャッシュされているので速いので、共通に表示されるフレームとかは、別からまた呼び出してもそんなにレスポンスは落ちないと僕は考えているのですが。 これって勘違いでしょうか、それともやり方があるのでしょうか。プリロードとロールオーバーはDreamweaverのFunctionです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.2

その通りです。 私が思う洗練された解決法(レイヤーを使用している場合の)としては、以下のものです。 解説のため、以下、メニューデフォルト画像A1,B1,C1、そして、ロールオーバー画像をA2、B2,C2とします。そして、それぞれの画像にレイヤーを割り当てます。 初めの表示の際に、A1レイヤー、B1レイヤー、C1レイヤーの真下(z-indexを少なくしてそれぞれ同じ位置)に、A2レイヤー、B2レイヤー、C2レイヤーを置き、マウスオーバーとマウスアウトを契機として、レイヤーのz-indexをうまく切りかえるようにしてやれば、美しくいくと思います。

ayamailnet
質問者

お礼

難しい内容の回答ですね、でもやっと理解できました。 これはDreamweaverのRollOverのFunctionの動きではありませんね。 ここまでやらないとちょっと大きな画像の入れ替えはできないということなのですね。 これはShowHideLayerとかを使えということになりますかね、もっともこんなDreamweaverだらけの専門用語ではみなさんの迷惑に、申し訳ありません。

その他の回答 (1)

noname#25358
noname#25358
回答No.1

 そのとおりです。  ロールオーバー(マウスを乗せると絵が変わる奴ですよね。これはDearmweaverやホームページビルダーの専門用語ですので、他人と話すときは使わない方が無難です)はマウスが上に乗って始めてデータを読みに行きますので、最初の表示は遅くなります。  これを回避するには、ページの先頭でダミー呼び出しというものをやっておくんですが……Dreamweaverではそれはできないんでしょうか(^_^;  JavaScriptを使って表示されない画像を呼び出し、それによって画像データをキャッシュに保存するのです。

ayamailnet
質問者

お礼

自分ではやったつもりだったのです。Layerに画像をいれてOnloadでLayerを非表示にしたりとか、でもOnLoadでは短すぎるのですかね。やっぱりマウスをのせてちょっと通信しているマークののちに表示されるので、困って質問しました。 すいませんDreamweaverしか使ったことなくて、他のエディタはよくわからないのです。どうかお許しください。

関連するQ&A