2013-07-23 128 views
1

所以我试图做一个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个不同的幻灯片,这可以大大减少网站的速度。

所以这个问题依然存在,我怎样才能将所有这些图片都传递给客户端,并且不会导致功能的大幅降低?

+0

如果该方法速度慢,那么AFAIK的所有预加载方法都将是,因为该方法所做的只是将所有图像加载到数组中。您可能会放置一个“正在加载...”屏幕,以便用户知道该页面尚未冻结。 – MathSquared

+1

也许你可以在它出现之前预载每张照片?总之:当照片N出现时,照片N + 1将被预加载。 – Pieter

+1

您不需要预加载,除非您希望在加载页面后立即看到所有图像。在定时幻灯片中,这绝不是这种情况......在加载当前视频时加载“下一个”并不会造成伤害。 – dandavis

回答

0

其实,你不需要预载在javascript中的图像。这关乎用户的舒适度。在javascript中预加载图像让你能够向用户展示一些反馈(加载gif,加载栏,%...)并对他说:请等待几秒钟。否则,他会在2或3秒内看不到任何东西(取决于图像的数量和大小)。例如,在一个带有图像的基本html页面(没有js)中,所有工作都正常,但可能需要一段时间才能加载页面。

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