如何强制停止 JavaScript 图像预加载序列(Ariel Flesler 的预加载器)
How can I force stop a JavaScript image preloading sequence (preloader by Ariel Flesler)?
>假设我在网页上有一个按钮。每当单击该按钮时,某些内容(最大可达 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;
}
});
});
它应该有效,但我不确定它是否会起作用。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何使该数据在所有元素中加载
- Chrome扩展没有't在重新加载之前考虑期权价值
- 使用javascript在Flash中加载外部图像
- Ajax文件加载和<输入>文件加载
- 使用javascript函数在页面初始化后加载jquery
- 如何强制停止 JavaScript 图像预加载序列(Ariel Flesler 的预加载器)