加载图像更快?(PHP,JQuery)


Load images faster?(PHP, JQuery)

我有一个JQuery代码,如下所示:

var number_images = 5;
var ct = 1;
// Goto previous Picture
$('#changeImageMinus').on('click', function()
{
    if(ct-1>=1 && ct-1<=number_images)
    {
        ct = ct - 1;
        $('.container-bg').css("background-image","url('images/" +  ct + ".png')");
    }
})
// Goto next Picture
$('#changeImagePlus').on('click', function()
{
    if(ct+1>=1 && ct+1<=number_images)
    {
        ct = ct + 1;
        $('.container-bg').css("background-image","url('images/" +  ct + ".png')");
    }
})

我在文件夹images/中有类似1.png, 2.png ...的图像,所以我只需按"+"或"-"按钮即可前后加载图像。问题是加载需要很长时间,我想知道是否有可能将所有图像预加载到缓冲区或类似的地方。我基本上想在网站打开之前加载所有的图像,这样当我切换它们时,它会更快地显示出来。提前非常感谢!

您可以通过使用Image类使用JS来实现这一点。创建新的Image对象,并将其src属性设置为图片的路径。在打印页面之前对所有图像执行此操作,您应该预先加载它们。在这篇文章中,他们描述了它(第二种方式)。

只是要小心,因为如果你有很多照片,它会对用户体验产生负面影响,尤其是对于连接速度较慢的用户(是的,他们存在,例如我:D)。想象一下,您需要等待几秒钟(比如10秒或更长时间)才能加载页面。在这种情况下,最好的方法是预加载指定数量的图像,然后在需要时加载其余图像。等待的问题可能会再次出现,但至少用户会看到你的页面,而不会搜索其他页面:)