1

Webページにボタンがあるとします。そのボタンがクリックされるたびに、特定のコンテンツ(最大5MBになる可能性のある画像ファイルの全リスト)が非同期でプリロードされ、ロードが完了するとWebページに追加されます。

ただし、最初のプリロード手順が完了する前にボタンが再度クリックされた場合にのみ、プリロード手順を停止してから、2番目の手順を開始するのが理にかなっています。どうすればこの強制停止を実現できますか?

ちなみに、私はArielFleslerのjQueryベースの画像プリローダーを使用しています。

前もって感謝します!

4

1 に答える 1

2

img画像が可変と$preload.cache配列に保たれる場所が2つあるのは奇妙なコードです。

これを追加できます

settings.control(function() {
    imgs = null;
    $preload.cache = [];
});

この行の後にある可能性があります

  var imgs = $(Array(settings.threshold+1).join('<img/>'))
         .load(handler).error(handler).bind('abort',handler).each(fetch);

関数を渡して中止することができます

var _abort = null;
$('<your button>').click(function() {
    if (_abort) {
        _abort();
    }
    $.preload( '#images img', {
            placeholder:'placeholder.jpg',
            notFound:'notfound.jpg'
            control: function(abort) {
                    _abort = abort;
            }
    });
});

動作するはずですが、動作するかどうかはわかりません。

于 2012-06-06T13:45:20.723 に答える