Javascript 预加载图像的替代方法

Javascript 预加载图像的替代方法,javascript,jquery,html,slideshow,Javascript,Jquery,Html,Slideshow,所以我想制作一个jQuery幻灯片 我读过很多教程,几乎所有的教程都说要使用下面代码的一些变体来预加载图像: imageArray[imageNum++] = new imageItem(imageDir + "02.jpg"); imageArray[imageNum++] = new imageItem(imageDir + "03.jpg"); imageArray[imageNum++] = new imageItem(imageDir + "04.jpg"); imageArray[i

所以我想制作一个jQuery幻灯片

我读过很多教程,几乎所有的教程都说要使用下面代码的一些变体来预加载图像:

imageArray[imageNum++] = new imageItem(imageDir + "02.jpg");
imageArray[imageNum++] = new imageItem(imageDir + "03.jpg");
imageArray[imageNum++] = new imageItem(imageDir + "04.jpg");
imageArray[imageNum++] = new imageItem(imageDir + "05.jpg");
如果你有四张幻灯片就可以了,但是如果幻灯片放映有10到15张不同的幻灯片,这会大大降低网站的速度


因此,问题依然存在,我如何才能将所有这些图片发送到客户端,而不会导致功能大幅减少?

您可以尝试仅预加载幻灯片中的下一个图像。有用链接:

实际上,您不需要用javascript预加载图像。这一切都是关于用户的舒适性。在javascript中预加载图像使您能够向用户显示一些反馈(加载gif、加载条、%…),并对用户说:请稍等几秒钟。否则,他将在2或3秒内什么也看不见(取决于图像的数量和大小)。例如,在一个包含图像的基本html页面(没有js)中,所有内容都正常工作,但加载页面可能需要一些时间


这就是为什么jquery(和其他)幻灯片片段使用JS加载。

如果该方法速度慢,那么所有预加载方法都会慢,因为该方法所做的只是将所有图像加载到一个数组中。你可以设置一个“加载…”屏幕,让用户知道页面没有冻结。也许你可以在每张照片显示之前预加载它?简而言之:当照片N出现时,照片N+1将被预加载。除非您希望在页面加载后第一件事就是看到所有图像,否则不需要预加载。在定时幻灯片中,情况从来不是这样。。。在加载当前图片的同时加载“下一个图片”不会有任何影响。如果你有一个以slider div显示图片的sideshow,则必须加载所有图片。这肯定会影响页面的加载时间/性能。