• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryのfadeToの動きが変(サーバ上))

jQueryのfadeToの動きが変(サーバ上)

このQ&Aのポイント
  • jQueryを使用したイメージギャラリーで、メイン画像が指定した時間で薄っすらと表示されるような効果を実現しています。
  • ローカル環境では正常に動作するが、サーバ上では初回サムネイルをクリックしたときに遅延が発生し、fadeToの効果が聞かなくなります。
  • ブラウザを閉じない状態で同じサムネイルをクリックすると正常に動作することから、キャッシュの問題である可能性があります。

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

  • ベストアンサー
回答No.1

>【状況整理】 たぶんその通りで、 画像が読み込まれないままfade inしてるんじゃないでしょうか。 opacity:0から0.9くらいの状態で画像が読み込まれていないと、全く表示されません。 そのままopacity:1になり、その後で画像が読み込まれると、opacity:1の状態で表示されますから、 fade inが効いていないように見えます。 リサイズや移動などでも同じですが、画像の読み込みを待つようにしてみてはいかがでしょうか。 低レベル(ライブラリ未使用)の書き方は、以下のような感じで行けると思います。 var img=document.createElement('img'); img.onload=function(){ /*表示処理*/ $("#carousel .main_img").attr("src", this.src); }; img.setAttribute('src', 'img/photo1.jpg'); なお、IEはsrcの書き換えではonloadイベントを再発行しません。 img要素を作るのはその対策です。 jQueryを使った書き方はわかりませんので、質問者さんか、他の人にお任せします。 もしくは、thickboxなどには画像の読み込みを待つ処理が書いてあると思いますし、それが参考になると思います。

testmaster_x
質問者

お礼

大きなヒントありがとうございました。 画像の読み込みにタイムラグがあるのが原因とわかり、 ページが表示されたらメインに映し出す画像をjavascriptのプリロードすることで実装できました。 これでタイムラグがなくなりました。

関連するQ&A