Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery图像预加载-动态图像集_Jquery_Preload - Fatal编程技术网

JQuery图像预加载-动态图像集

JQuery图像预加载-动态图像集,jquery,preload,Jquery,Preload,我有一个滑块,它保持背景图像的动画效果。背景图像被应用到页面的主体元素,也就是说,它占据了页面的全部大小 $("img").attr({ src: item.src }).appendTo("#target"); 此动画显示在主页上。。。滑块中总共有10个从数据库中获取的图像 $("img").attr({ src: item.src }).appendTo("#target")

我有一个滑块,它保持背景图像的动画效果。背景图像被应用到页面的主体元素,也就是说,它占据了页面的全部大小

 $("img").attr({
                src: item.src
            }).appendTo("#target");
此动画显示在主页上。。。滑块中总共有10个从数据库中获取的图像

 $("img").attr({
                src: item.src
            }).appendTo("#target");
我的问题是如何预加载这些图像,因为大多数图像的大小都超过200-300KB。jquery预加载需要图像名称的静态数组,但在加载时我不知道它们的名称

 $("img").attr({
                src: item.src
            }).appendTo("#target");

所以你们能帮我预加载这些动态图像吗?

这里有一个简单的脚本,可以帮助在使用javascript之前加载图像

    $.each(data, function(index, item) {
        var tempImage = new Image();
        tempImage.src = item.url;
        preloadedImages.push(tempImage);
    }


where data as an array of image data 
data=
{
   name:'NameofImage',
   url:'http://www.website.com/image1.jpg',
}
 $("img").attr({
                src: item.src
            }).appendTo("#target");
要显示图像,只需将图像添加到DOM中即可

 $("img").attr({
                src: item.src
            }).appendTo("#target");
我有一个简单的脚本演示。它从ajax请求中获取数据并预加载图像。当用户在目标上执行鼠标操作时,它会将图像附加到DOM

 $("img").attr({
                src: item.src
            }).appendTo("#target");
下面是显示页面加载时正在加载图像的屏幕截图:



 $("img").attr({
                src: item.src
            }).appendTo("#target");



 $("img").attr({
                src: item.src
            }).appendTo("#target");
这表明,在div中加载的隐藏图像可能不会在某些浏览器(如Opera)中预加载。我想我还没有证实

 $("img").attr({
                src: item.src
            }).appendTo("#target");
如果您不想使用javascript,可能还有其他方法可以使用css加载图像

 $("img").attr({
                src: item.src
            }).appendTo("#target");

希望这有帮助

那么,您要求预加载您不知道文件名的图像?不行。要加载或预加载图像,您需要图像的URL。是的,加载时我不知道图像名称,因为这些值是从数据库返回的。因此,我是否应该首先发送ajax请求以获取文件名?当您有图像文件名时,您可以开始预加载。因此,请做您需要做的任何事情来获取文件名。感谢您的详细解释,但是如果您能仔细阅读,我不知道图像名称,因为它们是从数据库中获取的。然后我是否应该使用ajax请求从数据库中获取图像。。。由于这是一个主页,我不想让用户一直在主页上等待,这些会不会降低页面的速度。ajax调用是否有助于获取图像的名称/url?
 $("img").attr({
                src: item.src
            }).appendTo("#target");