用零填充时无法使JavaScript循环工作

时间:2013-03-09 15:24:33

标签: javascript

尝试将一些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那样将一些图像加载到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;
}

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

如果有人能够直截了当,我将非常感激。

2 个答案:

答案 0 :(得分:0)

尝试使用pad()代替String.format()

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

答案 1 :(得分:0)

将此添加到您的页面

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