プロが教える店舗&オフィスのセキュリティ対策術

a:hover のとき、背景画像を変更してjavascriptを使用せずマウスオーバー処理を行う方法がありますよね。簡単に書くと下記のようになります。

<a href="***">テキスト</a>
a { background:url(aaa.gif); }
a:hover { background:url(bbb.gif); }

ローカル環境ではうまく表示されるのですが、アップロードすると一瞬真っ白になってから背景画像が変わります。これはなぜでしょうか。

IE6使用(Windows)です。
MacIEやNetscapeだと、ぜんぜん問題ありませんでした。IE特有の問題なのか、私のPC環境によるものかはっきりさせたいと思うので、わかる方、宜しくお願いします。

A 回答 (3件)

#1です。

失礼しました。IEではbackground-positionを変える方式でもチラつきますね。

ツール→
インターネットオプション→
インターネット一時ファイルの設定ボタン→
「ページを表示するごとに確認する」以外を選ぶ。

この設定さえすればどちらの方式でもチラつかなくなるようです。

最初の一回目のチラつきを抑えるには
やはりbackground-positionを変える方式にするか、
#2の方の回答のように画像を先読みするスクリプトが有効かも。試してませんが。
(MM_preloadImagesって関数はDWを使ってないなら中身を自前で用意しなきゃいけないけど)
    • good
    • 0
この回答へのお礼

>最初の一回目のチラつきを抑えるには

1回目くらいはチラつきあってもいいだろうと思ってます。画像先読みも考えてました。

>「ページを表示するごとに確認する」以外を選ぶ。
これでうまくいきました。ありがとうございました。

お礼日時:2005/08/03 19:36

画像aaa.gifからbbb.gifへの切り替え命令を受けてから


bbb.gifを読みに行くために表示までの僅かのタイムラグが
発生する事で起ます、ページを読み込む前に
<body>タグで先読みすれば瞬時に切り替わります。
下記のように<body>タグを書いてください。
<body onLoad="MM_preloadImages('aaa.gif','bbb.gif')">
    • good
    • 0

画像の読み込み(サーバへのアクセス)が起こっているのかな?



backgroundのurlの変更ではなくpositionを変える方法にしてみてはどうですか?→参考URL

参考URL:http://www.mushline.com/junky/2003/111523.shtml

この回答への補足

positionを変更する方法も試してはいるのですが、タイムラグが発生してしまいます。
しかもIE6だけ(-_-;)

補足日時:2005/08/03 11:58
    • good
    • 0

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