短版本需要帮助创建一个变量,该变量存储文件夹中的文件数,然后将其用作循环计数器。
完整版:我以为我在这里找到了答案,但它对我不起作用。由于我没有足够的声誉,我无法对那个旧帖子发表评论,所以我在这里。
我创建了一个JQuery函数来将图像添加到公文包页面中。它是:
$(document).ready(function() {
for (i = 1; i <= 9; i++) {
$('.flex-container').append('<aside class="flex-item"><img src="images/portfolio/' + i + '.jpg" alt="blah blah"></aside>');
}
});
正如你所看到的,我从9张图片开始。但是,我希望网站在将其他图像添加到"图像/公文包"文件夹时自动更新。(图像按数字顺序命名,如1.jpg、2.jpg等(
基于我链接到上面的线程,我创建了一个名为numberoffiles.php
的php文件。该文件包含:
<?php
return iterator_count(new DirectoryIterator('../images/portfolio'));
?>
(我的根目录包含这些文件所包含的"图像"answers"脚本"文件夹。(
我将js文件编辑为:
$(document).ready(function() {
$.get('numberoffiles.php', function(data) {
var count = data;
});
for (i = 1; i <= count; i++) {
$('.flex-container').append('<aside class="flex-item"><img src="images/portfolio/' + i + '.jpg" alt="blah blah"></aside>');
}
});
我在$(document).ready(function)
内外的$.get
代码中都尝试过,但都不起作用。
有些东西告诉我错过了一些非常简单的东西。
这很简单。使用for((进行迭代时,未收到AJAX数据。您可以使用promise或deferred,或者简单地使用带有GET参数的$.ajax函数。
您可以在不更改代码的情况下尝试此操作:
$(document).ready(function() {
$.get('numberoffiles.php', function(data) {
var count = data;
for (i = 1; i <= count; i++) {
$('.flex-container').append('<aside class="flex-item"><img src="images/portfolio/' + i + '.jpg" alt="blah blah"></aside>');
}
});
});
祝你好运。