
jqueryを使い、下のようなサイトを作っています。(URL先はサンプル)
http://s1.shard.jp/studioy/test2/
横に大きな画像を一枚使っており、ページを開くと同時に画像がスライドし、一番最後まで流れたらストップ、右側のリンクで希望の画像までスライドできるようになっています。
動きに支障はないのですが、最初に読み込んだときに画像が完全に読み込まれておらず、徐々に表示されてしまいます。
一応、jsでプリロードさせているのですが、環境によってなのでしょうか。
jsで読ませる他に、何か方法はないでしょうか?
どなたか詳しい方、ご教示下さい。
No.1ベストアンサー
- 回答日時:
いわゆるプリロードは
var img=new Image();
img.src='image.jpg';
のような形になっていると思いますが、
これは「画像の読み込みを開始せよ」という命令でしか有りません。
画像の読み込みが完了してからスライドを開始するようにすれば、画像の読み込み中が表示されることはなくなりますが、
ライブラリがその処理に対応していなければ、
・ライブラリを改造するか、
・対応しているライブラリに乗り換えるか、
・ライブラリを使わずに全て自作するか、
どれかになりますね。
img.onload=function(){}
img.onerror=function(){}
で読み込みが完了、中止したタイミングをチェックできます。
img.completeというプロパティで読み込みに成功したかどうかは確認できますが、(onloadでフラグを立てる代わりにimg.completeをフラグとして扱える)
ブラウザによって、読み込みに失敗したときに.completeをtrueにするかfalseにするかの違いがありますので、onerrorでもチェックした方が良いと思います。
> jsで読ませる他に、何か方法はないでしょうか?
画像の先読みそのものはHTMLを使って
<img src="" alt="" width="0" height="0" style="display:none">
でも可能です。
この方法なら、
window.onloadに影響します(画像の読み込み完了を待ちます)が、
jQueryの$(document).ready()は影響しません(画像の読み込み完了を待たずに実行します)。
jQueryプラグインなら$(document).ready()を使っていると思いますので、どちらにしても改変が必要になると思います。
また、文書と直接関係ないタグを使うことになると思いますので、HTML文書として倫理的な問題があると思います。
この回答への補足
回答ありがとうございます。
実際は他にも複数画像があるので、こうなるでしょうか。
function check(){
flag=true;
for(j=0; j<document.images.length; j++){
if(document.images[j].complete==false){
flag=false;
}
}
if(flag==true){
b=1;
}
else{setTimeout("check()",200);}
}
<BODY onload="check()">
~
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- HTML・CSS 画像が分割されて切り替わる、ループアニメーションが作りたい 7 2023/05/27 17:12
- Windows 10 フォルダ内の全ての画像を矢印キーでスライドできるようにしたい 1 2022/10/21 12:53
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- PowerPoint(パワーポイント) パワーポイント アニメーション効果で、テキストと同時に画像を表示させる方法を教えてください 2 2022/09/12 21:06
- WordPress(ワードプレス) ホームページの画像が入れ替わらない 3 2022/12/24 16:00
- Visual Basic(VBA) PowerPoint VBA で画像の鮮明度を変更する方法がわかりません 2 2023/03/24 13:34
- 防犯カメラ・監視カメラ・小型カメラ VHSを高画質な動画ファイルにしたいです。 3 2022/05/06 12:08
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- Windows 10 再起動後 Pinが使用できず、PC(windows11)にサインインできない 3 2022/08/30 20:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
lightbox 誤作動 JAVA
-
ランダム表示に加えwidthをブラ...
-
画像をフォルダから自動読み込み。
-
マウスオーバーと背景画像の固定
-
画像をドラッグ&ドロップで移...
-
簡単に画像を自動切替できるJav...
-
USEMAPでの指定区域にマウスオ...
-
textareaに画像を表示したい
-
クリッカブルマップで切り替え...
-
ホームページに画像とコメント...
-
Gifアニメ、最後のコマに行った...
-
時間で画像表示が変化する方法
-
ジオシティーズでのロールオー...
-
1枚の画像をクリックして複数の...
-
ページ読込中に表示が崩れるの...
-
JavaScript スライドの画像にリ...
-
1枚の画像をクリックすると複数...
-
画像にロールオーバーするとメ...
-
Ajax LightBoxを使用したサムネ...
-
座標を指定して画像を表示する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1枚の画像をクリックすると複数...
-
1枚の画像をクリックして複数の...
-
textareaに画像を表示したい
-
Gifアニメ、最後のコマに行った...
-
JavaScript スライドの画像にリ...
-
iframe内のリンク文字のマウス...
-
透過pngの透明部分以外をクリッ...
-
プルダウンの位置がwin/macでず...
-
特定の画像を非表示にする方法
-
中心を軸にくるくる回るjQuery ...
-
重なった画像にクリックイベン...
-
lightbox2をiframeから外に表示...
-
jQueryで特定のURLの時のみ表示
-
innerHTMLで、表示すると、一部...
-
jQuery FlexSliderのカルーセ...
-
WEBページ立ち上げ時に1回のみ...
-
ページ読込中に表示が崩れるの...
-
画像を切り替えランダム表示
-
クリッカブルマップで切り替え...
-
javascriptで毎月替わる画像
おすすめ情報