如何使用JQuery删除加载太慢的图像?
How can I remove images that are loading too slow using JQuery?
我允许用户提交图像作为缩略图在我的网站上使用。缩略图没有存储在我的服务器上。有时候,他们中的一些人真的很慢。我如何移除那些加载时间太长的?我唯一能想到的是使用。load()或。error(),但这些事件甚至不会触发,直到图像加载/失败。
编辑:或者更好,我怎么能暂时显示加载。gif?
你考虑过使用gif动画作为包含div的缩略图的背景吗?
您总是可以对图像(即页面中的标记)进行编码,以使用某种"加载"图像,这些图像始终是相同的,可能会被缓存。然后,您可以将真实的图像加载到Image对象中。当"load"事件触发时,您可以重新分配标签的"src"属性,以便显示当前加载的图像。
<!-- in the page -->
<img class='slow' src='common_loading_image.png' data-real-image='the/real/image.png'>
// JS code
$(function() {
$('img.slow').each(function() {
var $img = $(this), real = new Image();
real.onload = function() {
$img.src = real.src;
};
real.src = $img.data('realImage');
});
});
这当然依赖于你的图像被提供适合缓存的标题。如果图像没有被缓存,那么您将不得不尝试类似背景图像建议的东西。
可以在实际图像上方放置一个加载浮动,当load()时,隐藏加载浮动
我认为最好的解决方案是像Pointy和Mati写的那样使用背景加载图像。
但是,如果你真的想删除它们,你可以处理所有图像的load事件来标记下载的图像。
使用计时器,您可以在x秒后检查哪些图像尚未加载并删除它们。
相关文章:
- 在通过child.print()打印之前,我如何等待图像加载到我的新窗口中
- 在检索数据时是否可以停止图像加载请求
- 如何让我的网站上的WEBP图像加载在morzilla firefox中有一个可能的解决方案吗?如果是,那么如何
- jQuery:获取图像加载错误的详细信息
- 在safari和chrome中,js图像加载产生了奇怪的结果
- 图像加载不适用于 IE 8 或更低版本
- 这个图像加载功能有什么作用
- JavaScript 图像加载器不起作用
- 动态图像加载是否会减少服务器过载
- 跨来源图像加载被拒绝-仅限iPhone-简单图像上传
- 纯javascript的进度图像加载程序仅当用户单击提交html表单时
- 使用JavaScript延迟图像加载
- 如果当前图像加载缓慢,如何加载其他图像
- HTML图像加载触发一个错误
- 将图像加载到localStorage,并将图像src设置到该位置
- jquery图像加载检查错误
- 将图像加载到织物画布背景中
- 需要在bootstrap css中单击时将图像加载为模态
- 正在显示加载..在将新图像加载到网站时播放动画
- 砖石事件:在图像加载和布局完成后调用事件