【问题标题】:Can't get JavaScript loop to work when padded with zeroes用零填充时无法使 JavaScript 循环工作
【发布时间】:2013-02-25 01:57:54
【问题描述】:

尝试将一些 html 写入 001、002、003 样式格式的 div,但无法正常工作。

代码如下:

function loadpics(x, url) {
  var txt, i;
  txt = "";
  for(i = 1; i < x; i++) {
    txt = txt + String.format("%03d", i) + "<br/>";
  }
  document.getElementById("myDiv").innerHTML = txt;
}

当我希望它能够工作时,我打算像这样将一些图像加载到 div 中:

function loadpics(x, url) {
  var txt, i;
  txt = "";
  for(i = 1; i < x; i++) {
    txt = txt + "<img src=\"" + url + "/t/" + String.format("%03d", i) + ".jpg\"></img><br/>";
  }
  document.getElementById("myDiv").innerHTML = txt;
}

但无法使字符串格式正常工作。不完全确定我做错了什么。

如果有人能直截了当地告诉我,将不胜感激。

【问题讨论】:

  • 您是否遇到任何错误?
  • 什么是 String.format? JavaScript 不是 Java。
  • 您是否要为数字添加填充?
  • 感谢回复,很快就整理好了,谢谢=)

标签: javascript


【解决方案1】:

将此添加到您的页面

function pad(number, length) {
  var str = '' + number;
  while (str.length < length) {
    str = '0' + str;
  }
  return str;
}

并用这个替换txt=txt...

txt +=  "<img src='" + url + "/t/" + pad(i,3) + ".jpg'></img><br/>";

也可以看看this topic

【讨论】:

    【解决方案2】:

    尝试使用pad() 而不是String.format()

    function pad(number, length) {
      var str = '' + number;
      while (str.length < length) {
        str = '0' + str;
      }
      return str;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多