2011-06-24 1 views
4

ページにはボタンがあります。ボタンをクリックすると、ドロップダウンが表示されます。ドロップダウンにはイメージが含まれています。問題は、ユーザーがボタンをクリックするまでイメージが取得されないことです。jQueryのバックグラウンドでHTMLリソースをプル

$("#my_button").click(function(){ 
    $("#my_dropdown").html("<img src=\"http://mysite.com/image.jpg\" />"); 
}); 

ページが読み込まれたときにイメージを取得して、ユーザーがドロップダウンをクリックしたときに準備が整うようにしたいと思います。これどうやってするの?私はdisplay:noneを設定してイメージをページに挿入できると思っていたので、キャッシュに入るか、ドキュメントがjQueryで読み込まれたときに読み込む方法がありますか?

これはChrome拡張機能のためのもので、違いがあればご利用いただけます。エクステンションにイメージを置くことができると思いますが、それは速くなりますが、JSを使用してイメージをロードすることができるかどうかはまだ不思議です。

おかげで、 ケビンあなたが各画像をプリロードすることができ

+0

私は最初に自分の答えを得ました。それはあなたが受け入れたものと本質的に同じです。受け入れる答えをどのように選んだのか不思議です。 – Sparky

+1

@ Sparky672、彼はおそらく、それをインライン展開のawesomenessを使用することに恥ずかしがり屋です。 –

答えて

7

はい。ただ、ページの準備ができて()の呼び出しで新しいイメージとしてそれを定義します。

$(document).ready(function() { 
    var preload = new Image(); 
    preload.src = "http://mysite.com/image.jpg"; 
}); 

を次に、あなたがそれを使用する場合、それはすでにブラウザのキャッシュになります。変数を使用するか、すでに使用しているのと同じ方法で変数を参照することができます。

+0

あなたはready()コールが必要なのでしょうか?なぜ実行時に実行しないのですか? –

+0

@KevinBurke私は何故か理由を考えることができません。 – Cfreak

6

...

$(document).ready(function() { 
    (new Image()).src = '/path/to/myImage.jpg'; 
}); 
関連する問題