2 回答
TA贡献1725条经验 获得超7个赞
无法完全测试所有内容,但我们的想法是遍历 php 中的文件夹,而是将它们存储为 javascript 中的全局变量。
然后我们创建一个函数,它将一个数字作为索引,从文件夹数组中获取文件夹名称,并将进行 javascript 调用以从 url 获取信息。
这将依次创建要显示的必要图像元素,并将递归调用相同的函数以获取数组中下一项的图像,直到到达最后一项。
这可以重构以看起来更好。
见下文,我希望它有所帮助。
<div class="wflex">
<div class="wscdfx">
</div>
</div>
<script type="text/javascript">
var items = <?php echo json_encode($items)?>;
function getFileNames(i) {
if(i >= items.length) {
return;
}
var folder = "images/"+items[i];
$.ajax({
async: true,
url : folder,
success: function (data) {
var divNameEl = $('<div class="spct" />').html(items[i]);
$('.wscdfx').append(divNameEl);
var divEl = $('<div class="prodfx" />');
$(data).find("a").attr("href", function (i, val) {
console.log(i,val);
if( val.match(/\.(jpe?g|png|gif)$/) ) {
divEl.append( "<img src='"+ folder + val +"'>" );
$('.wscdfx').append(divEl);
}
});
getFileNames(i+1);
}
});
}
getFileNames(0);
</script>
TA贡献1805条经验 获得超10个赞
如果您的所有图像都像示例一样命名,则脚本中的这些更改可能会解决您的问题:
<script>
var floder = '<?php echo $item; ?>';
var path = `images/${folder}/`;
$.ajax({
async: false,
url : path,
success: function (data) {
$(data).find("a").attr("href", function (i, val) {
var imageFolder = val.split("_");
imageFolder = imageFolder[0].toUpperCase();
if( val.match(/\.(jpe?g|png|gif)$/) && imageFolder == folder) {
$(".prodfx").append( "<img src='"+ folder + val +"'>" );
}
});
}
});
</script>
- 2 回答
- 0 关注
- 177 浏览
添加回答
举报