我有20个文件夹,每个文件夹都有一组图像,有些文件夹只有8张图片,而其他文件夹最多只有200张。所有文件夹的名称都是1到20,每个文件夹中的所有图片也都用数字命名。我想将所有文件夹中的所有图片附加到HTML文档中。这就是我所拥有的:
var storedPictures = [];
var picture, folder;
function addPictures(x, y) {
for(folder = 1; folder <= x; folder++);
for(picture = 1; picture <= y; picture++) {
storedPictures.push(
'<img ' +
'src="/path/to/file/' + folder + '/' +
picture + '.jpg">'
);
}
我有其他代码将第一张图片作为缩略图并将其附加到页面上,当用户点击它时会打开一个新窗口,其中包含该集合中的所有图片。当我调用这样的函数时,它只适用于一个文件夹及其集合:
addPictures(1, 26)
我从文件夹1中获取了所有26张图片。但是我想要所有文件夹中的所有图片,只需多次编写电话就不起作用了:
addPictures(1, 26)
addPictures(2, 10)
addPictures(3, 36)
就像那样我只得到我先叫过的那一套(1,26)。
我是javascript的新手所以我的细节可能没有足够的意义,所以请告诉我我应该给出的其他细节。感谢。
答案 0 :(得分:0)
您的示例中有几个错误。首先,addPictures函数错过了结束括号。我想这是一个复制粘贴错误。
另一个文件夹循环更难发现:for(folder = 1; folder <= x; folder++);
由于分号;
,循环运行为空。尝试for(folder = 1; folder <= x; folder++) console.log(folder); console.log(folder)
。
当您将x
设置为例如3
时,文件夹循环会将文件夹从1增加到3(实际上,通过循环到达4之后)。 <{1}}不会发生这种情况,因为x==1
永远不会被执行。
因此,当您拨打folder++
时,您要从文件夹3而不是2中添加1到10张图片。
从该循环中删除分号将提供更合理的输出。但是,我仍然不确定,这是一个理想的输出。如果删除分号,addPictures(2, 10)
实际上会从目录2添加图片1到10,但它也会从目录1中获取图片1到10。这是因为第一次迭代将保持addPictures(2, 10)
,并且只有第二次迭代将具有folder=1
。 `addPictures(3,36)会尝试从目录1,2和3加载图片1到36。
因此我想你想要的是:
folder=2
答案 1 :(得分:0)
您的功能是尝试将 y 图片从 x 文件夹中删除。如果是这种情况,您可以使用此功能
Set sht = ActiveWorkbook.ActiveSheet
tk2 = Cells(Rows.Count, "A").End(xlUp).Row
If sht.Cells(tk2, "A").Value = "Task 2" Then
sht.Cells(tk2, "A").Offset(1).EntireRow.Insert
End If