0

Marcofolio スライドショー (ここではhttp://www.marcofolio.net/webdesign/advanced_jquery_background_image_slideshow.html )とうまく連携する、機能する jQuery 画像プリローダーを見つけようとしています。

同じスライドショーがフィラデルフィアの Web サイト ( http://www.visitphilly.com/ ) でも使用されています。プリローダーが呼び出されています。

また、次のプリロード コードを使用してみましたが、状況が改善されないようです (Safari ブラウザーでの読み込みが最も遅いようです)。

function preload(arrayOfImages) {
    $(arrayOfImages).each(function(){
    });
  }

  preload([
   'images/image1.jpg',
   'images/image2.jpg',
   'images/image3.jpg',
   'images/image4.jpg',
  ]);

賢明な誰かが visitphilly サイト要素を調べることができれば、私がここで明らかに見逃しているものを見つけることができるかもしれません。または、この特定のスライドショーに役立たないように思われるものをいくつか試したので、プリロード プラグインの提案をいただければ幸いです。

ありがとうございました!

4

3 に答える 3

4

そのためにjQueryは必要ありません:

var images = [
    'a.png',
    'b.png'//etc
];

var path = 'images/';
var i, image, img;
for(i = 0; image = images[i]; i++) {
    img = new Image();
    img.src = path + image;
}
于 2010-09-21T16:40:58.323 に答える
0

私はいつもこの素晴らしいプラグインを使用してきました: http://flesler.blogspot.com/2008/01/jquerypreload.html

$.preload([ 'red', 'blue', 'yellow' ], {
    base:'images/colors/',
    ext:'.jpg'
});

適切にコーディングされているという事実に加えて、このプラグインが処理する画像のプリロードに関する問題があります。

于 2011-08-04T09:21:12.553 に答える
0

画像を正しい順序でプリロードするようにしてください。

function preload(arrayOfImages) {
    var i = 0;

    function preloadnext() {
        if (i < arrayOfImages.length) {
            var img = new Image();
            img.onload = preloadnext;
            img.src = arrayOfImages[++i];
        }
    }

    preloadnext();
}

画像サイズ ('new Image(width, height)') を指定することもできますが、それが役立つかどうかはわかりません。

于 2010-09-21T17:25:32.713 に答える