0

我开始了,对不起我的无知...

我想将所有图像文件预加载到带有“_”前缀(_1.gif、_x.jpg 等)的混合文件夹中。

有没有办法合并这个 jQuery 图像预加载脚本:

$.fn.preload = function() {
    this.each(function(){
        $('<img/>')[0].src = this;
    });
}

似乎有一种方法可以在这种用法中加入一些东西:

$(<--here?-->).preload();

我为另一个脚本设置了这个:

var prefix = "_";

但是搜索并没有让我走远......

谢谢阅读!

4

1 回答 1

1

这里重要的考虑是:浏览器如何知道该目录中的内容?除非发出特定的 HTTP 请求,否则在浏览器中运行的 JavaScript 非常有目的地无法访问您的 Web 服务器上的文件。

如果您事先知道名称,则可以简单地在脚本中列出它们:

$.preload(['_1.gif', '_2.gif', ...]);

如果您确实有所有这些图像的列表,则可以先过滤该列表以获取仅包含以 开头的数组_。(如果这就是你被卡住的地方,请说出来,我们可以更具体。)

但是如果在脚本中包含所有图像名称是不切实际或不可能的(例如,因为它们是动态更改的),您需要向服务器执行 AJAX 请求,请求图像列表,然后使用该列表来处理预加载。(老实说,根据图像的大小和其他一些因素,您最好让图像自然加载。)

于 2012-07-07T20:42:39.563 回答