0

jquery関数でカルーセルの画像をプリロードする最良の方法を見つけようとしています

$('<img />').attr({ 'src': imgurl }).appendTo(currentli).hide().load(function() {                   
                   console.log("preload!");
                });

それを行うための最良の方法を探していると、使用が提案されていた2008年の古い質問が見つかりました

var img = new Image();
img.src = imgurl;

document.body.appendChild( img );
img.onload = function() {
console.log("preload!");
}

jqueryとjavascriptを使用した違いはありますか? 他の提案はありますか?

4

2 に答える 2

0

単純な JavaScript バージョンは、src が定義されているときに最初にイメージをメモリにロードし、次にそれを DOM に追加します。

jqueryバージョンは最初にそれをDOMに追加してから画像をロードします..これがすべての差分です

コメント更新後:-

var img = new Image();
img.src = imgurl;

$('<img />').attr({ 'src': imgurl }).appendTo(currentli).hide().load(function() {                   
                   console.log("preload!");
                });

これを行うことで、実際にDOMに追加される前に画像をロードできます

于 2013-03-21T13:38:25.423 に答える
0

ええ、ウィンドウの読み込みイベントでウィンドウの準備が整うまで待ってから、写真を含む実際の div 要素を表示し、機能を実行します。何かのようなもの...

$(window).load(function(){ 
  displayAndRunMyCarousel();
});
于 2013-03-21T13:44:28.093 に答える