来自文件夹的随机图像

时间:2009-11-27 10:42:28

标签: javascript jquery

我正在尝试重写下面的代码来搜索所有图像的文件夹(它们将被编号,但可能有间隙,即不是1.jpg,2.jpg,3.jpg而是1.jpg,15。 jpg,60.jpg因为这个原因我想搜索文件夹,将所有图像放入一个数组中,然后每次循环选择一个。

非常感谢任何帮助。

首先,我目前在下面的主要脚本上方指定图像总数:

imgWidth = 160,
imgHeight = 95,
imgTotal = 22,
total = 0,
tiles;


//create the HTML for the tiles and append that to the bg element
 function makeTiles(count){
     var html = '', imgNum;
     while(count--){
  imgNum = Math.floor(Math.random()*imgTotal + 1);
  html += "<div class='tile' style='background:url(public/images/portfolio/all/"+imgNum+".jpg) 0 0 no-repeat;' ><img style='opacity:0; filter:alpha(opacity=0);' src='public/images/portfolio/all/"+imgNum+"-c.jpg' alt='' /></div>\r";
     }
     $bg.append(html);
 }

6 个答案:

答案 0 :(得分:3)

您需要使用除javascript之外的其他内容创建可用图像列表,因为它没有文件系统访问权限,即使最终您通过其URL访问图像。

解决方法:为图像启用一些目录列表,然后通过javascript访问此页面,解析图像文件并从中构造一个数组;但坦率地说,有更短更强大的方法来实现这一目标......

伪代码 ..

$ ls -1 *jpg > imagesfilelist.txt
$ cp imagefilelist.txt /some/publicly/accessible/folder

js / jquery ..

$.get("/some/publicly/accessible/folder/imagefilelist.txt", function(data){
   alert("My image files: " + data);
});

...

答案 1 :(得分:2)

javascript无法访问本地文件夹。点。

我再说一遍:你无法“搜索文件夹”来获取JS中的“图像数组”。您可以使用PHP或此类服务器端语言执行该部分(仅限服务器!)并通过AJAX返回结果。

答案 2 :(得分:0)

要做你想做的事,你需要知道图像的名称。 JavaScript无法直接访问文件夹,如上所述。您需要使用服务器端脚本来提供图像数组,供JS随机选择以执行此操作。

答案 3 :(得分:0)

Javascript将无法浏览文件夹。您需要做的是创建一个可用图像数组,然后选择一个随机图像。您可以使用任何服务器端技术(php,rails,java,.net ...)来执行此操作。

答案 4 :(得分:0)

你尝试这样做的方式是错误的。虽然它可以使用一些技巧,但是做这种事情是非常错误的。

您可以使用php生成文件列表并将其提供给您的脚本。你甚至可以创建php脚本,它将生成你的脚本已经填充了所需的数据,但它也不是最好的。

所以,最好的方法是:   - 通过php创建带有文件名/图像列表(可见或不可见)的html,然后通过javascript操作它;   - 创建html和javascript将对php脚本进行AJAX查询,这将返回文件名列表(如果你愿意,可以格式化为JSON)。

答案 5 :(得分:0)

为什么不将图片上传到免费托管网站(如Flickr)从图片组中抓取Feed并从那里选择随机图片?

相关问题