2011-12-08 15 views
0

私は、画像 scr属性を使用して、サーバから多くの画像が呼び出されるWebページを持っています。事前に画像をクリックしてクリックイベントjQueryの後に表示する

私はによって引き起こされるような機能を作成しました。をクリックしてください。

function GoToStep(stepNo) { 
var imgSrc = $("#h1" + stepNo).val(); 
     $(".img_vertical").css("background-image", "url(" + imgSrc + ")"); 
} 

これは問題です。より遅い接続の場合、画像は の瞬間の後に来ます。

I 事前ロード・イメージは、ユーザーが TDをクリックしたときの時間を待って回避するためにすることはできますか?

イメージをプリロードするjquery関数をいくつか見てきました。

どうすれば達成できるか考えてみてください。

答えて

0

プリロードイメージのようなものを使用する必要があり、画像をロードし、それを表示することはありませんと等価です。したがって、次のように簡単に行うことができます:

この画像は、HTMLがレンダリングを開始するとすぐにロードされます。このイメージをディスプレイまたはバックグラウンドとして使用する必要がある場合は、アドレスをimage.pngに設定するだけで、自動的にブラウザのキャッシュからフェッチされます。

+0

私はページに少なくとも40のイメージがあるので、ページは重い(サイズ)と思う。私はすべてのtdクリックで同じdivの背景イメージを変更する必要があります。ページの読み込み時にイメージの配列を作成し、td clickでイメージを変更することをお勧めします。 –

+0

画像を表示する前にあらかじめ画像をロードしておく必要があるので、ページは重くなければなりません。あなたはそれを止めることができません(たとえサイズがafterallに固定されているので、通常の方法でそれらをロードしても)。システムのためのより良いデザインを選択するか、またはあなたが考えることができる最高のものを選んで、ここで説明されているプリロードオプションを試してみてください。私の答えはこれを行う単なる手掛かりですが、sshowの答えは、それがDOMを '駄目にしない'という意味ではより良いです。 –

0

これは、いくつかのjavascript関数を使用して行うことができます。 another questionから引用してください。

function preload(arrayOfImages) { 
    $(arrayOfImages).each(function(){ 
     $('<img/>')[0].src = this; 
     // Alternatively you could use: 
     // (new Image()).src = this; 
    }); 
} 

// Usage: 

preload([ 
    'img/imageName.jpg', 
    'img/anotherOne.jpg', 
    'img/blahblahblah.jpg' 
]); 

ジャバスクリプト、プリローダがどのように動作するかの説明(different question

[...]それが動作する方法は、新しいImageオブジェクトを作成し、それを SRCを設定するだけで、ブラウザは画像を取得しようとしています。我々はそうではありません この特定の画像をブラウザに追加しているわけではありませんが、何時も の画像がページに表示されたら、 ブラウザはすでにキャッシュに保存されていて、それを取得しません。 再び。 [...]

は、だからあなたの場合には、あなたが

$(function() { 
    // Do stuff when DOM is ready 
    preload([ 
     'img/bg1.jpg', 
     'img/bg2.jpg', 
     'img/bg3.jpg' 
    ]); 
}); 
+0

私はすべてのtdのための隠しフィールドを作成し、隠されたフィールドにimge-scrを保存しているので、私にいくつかの例を提供できますか? –

+0

今、どのようにインデックスでプリロードを使用できますか?どのように私は画像をプリロードしている場合は、divの背景を設定することができます。あなたは私にそれの構文を教えてくれますか? –

+0

'preload()'が実行された後、画像がプリロードされます。関数を実行した後は、これ以上考える必要はありません。 – sshow

関連する問題