【问题标题】:JQuery AJAX Read files from folder backwardsJQuery AJAX 从文件夹向后读取文件
【发布时间】:2016-07-24 18:30:16
【问题描述】:

我正在使用此代码用于网站将所有图像从文件夹加载到页面中。但正如你所见,我正在使用 prepend 命令,因为图像的名称类似于“0001”、“0002”、“0003”,所以脚本首先读取 0001 文件,我需要先显示最新的数字。

有没有办法向后读取文件名? (先是 0003,然后是 0002、0001..)

我现在使用的代码(我在 stackoverflow 上找到了这段代码):

var dir = "img/Torty/";
var fileextension = ".jpg";
$.ajax({
    url: dir
    , success: function (data) {
        $(data).find("a:contains(" + fileextension + ")").each(function () {
            var filename = this.href.replace(window.location.host, "").replace("http:///", "");
            if (filename.indexOf("+s+") >= 0) {
                var splitted = filename.split("+");
                $("#tortySem").prepend("<p><img src='" + dir + filename + "'></p>");
                $("#tortySem").prepend("<p>Torta " + parseInt(splitted[0]) + "   Váha " + splitted[1] + "Kg</p>");
            }
        });
    }
});

【问题讨论】:

  • filename 变量引用"0001" - "0003""0001" - "0003" 引用在哪里存储或增加?
  • 在文件名中有“0001+12+s+v+”,所以当我在索引 0 上用“+”分割它时,会有这个数字
  • 你能用.append()代替.prepend()吗?您还可以创建一个包含 ["0003", "0002", "0001"] 的数组,然后迭代数组,按照数组内容的顺序附加或添加图像
  • 有这个文件夹存储文件:asd01.esy.es/img/Torty 当我使用追加时,最新的文件会在网页的底部,我首先需要它们,这就是为什么要追加
  • 包含"0003" 的文件的预期结果是否位于元素容器的顶部?

标签: javascript jquery ajax file


【解决方案1】:

尝试使用.toArray()Array.prototype.reverse().append()

$($(data).find("a:contains(" + fileextension + ")").toArray().reverse())
.each(function () {
  var filename = this.href.replace(window.location.host, "")
                 .replace("http:///", "");
  if (filename.indexOf("+s+") >= 0) {
    var splitted = filename.split("+");
    $("#tortySem")
    .append("<p><img src='" + dir + filename + "'></p>");
    $("#tortySem")
    .append("<p>Torta " 
      + parseInt(splitted[0]) 
      + "   Váha " 
      + splitted[1] 
      + "Kg</p>");
  }
});

var data = "<div><a href=0001>0001</a><a href=0002>0002</a><a href=0003>0003</a></div>";

var n = "000";

$($(data).find("a:contains(" + n + ")").toArray().reverse())
.each(function() {
  $("div").append(this, "<br>")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

【讨论】:

  • 正是我需要的!非常感谢!
猜你喜欢
  • 2013-03-27
  • 1970-01-01
  • 2011-10-11
  • 2014-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
相关资源
最近更新 更多