1

假设我在网页上有一个按钮。每当单击该按钮时,某些内容(可以达到 5MB 的完整图像文件列表)会异步预加载,并在加载完成后添加到网页中。

但是,只有在第一个预加载过程完成之前再次单击该按钮,然后再启动第二个,才有意义。我怎样才能实现这种强制停止?

顺便说一句,我正在使用Ariel Flesler 的基于 jQuery 的图像预加载器

提前致谢!

4

1 回答 1

2

这是奇怪的代码,有 2 个地方图像保持img变量和$preload.cache数组。

你可以添加这个

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

它可以在这条线之后

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

你可以将函数传递给 abort

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 回答