我正在使用Google Charts在我的应用程序中显示图表数据。有时谷歌很慢,图表需要一段时间才能加载。这种情况似乎是一种常见的模式 - 所以我想知道什么是显示临时图像的好方法,而图像是从Google传送的。我可以访问jQuery - 并且已经看到了许多“预加载”插件。这是我需要的吗?
此场景/模式的正确术语是否真的称为“图像预加载”?
我很想听听人们用什么来解决这种情况。
感谢
答案 0 :(得分:8)
您可以在加载图片时显示http://ajaxload.info/处找到的其中一个花哨的加载GIF。加载图像后,隐藏加载的gif并显示图像本身。
答案 1 :(得分:2)
图像预加载通常是在您预期被请求时下载图像但在用户实际请求查看图像之前。我相信当前的想法通常会增加开销,除非很大一部分用户可以查看图像。
答案 2 :(得分:2)
图像有一个onload
事件,一旦图像加载完毕就会触发。
你可以听取那个事件,直到它发射出来显示另一个图像。
<script>
function showImage() {
$("#blah").show();
$("#temp").hide();
}
</script>
<img id="temp" src="temp_image.png" />
<img id="blah" src="blah.png" onload="showImage();" style="display:none;"/>
答案 3 :(得分:0)
不,你不想预加载(这假设在指定的图像加载时停止页面加载)。你需要显示一个加载图形。
$(.loading).css({
'background-image':'myLoading.gif',
'background-repeat: 'no-repeat',
height: 25,
width: 25
}).load(function(){
$(this.css({
'background-image': null,
height: 'auto',
width: 'auto'
});
});
或者那样的效果......注意高度和宽度应该是借用图像的大小...除非你知道你拉下的图像的大小。
答案 4 :(得分:0)
预加载不是要走的路。如果您的图片在您的应用程序中直接可见,您的浏览器将尽快加载它,并且无法使用Javascript加载它。
你可以做的是加载它。
您似乎认为图像加载速度很慢,因为您希望它是即时的。很难比立即更快。
也许你可以尝试另一种方式。设计应用程序,以便在用户与某些内容进行交互时显示图表(单击按钮,链接等),然后在用户请求时加载图表。
我认为这有两个好处,主要是针对低带宽用户(移动用户?):
从AppleInsider移动版
无耻地窃取的想法答案 5 :(得分:0)
直观的解决方案负载(非常)大图像。例如:
load('/images/audi_big.jpg')
大图片,$("#big_image img").attr({src: '/images/audi_120px.jpg'});
,我们有缩略图 width =“960”。 LOADING {CSS}z-index: 1
,$("#big_image img").attr({src: '/images/audi_big.jpg'});