如何强制停止 JavaScript 图像预加载序列(Ariel Flesler 的预加载器)

How can I force stop a JavaScript image preloading sequence (preloader by Ariel Flesler)?

本文关键字:加载 Ariel Flesler JavaScript 图像 何强制      更新时间:2023-09-26

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

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

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

提前感谢!

这是

奇怪的代码,有 2 个地方将图像保存在变量和$preload.cache数组img

你可以添加这个

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;
            }
    });
});

应该有效,但我不确定它是否会起作用。