1

私はこのコードを手に入れました:

function zeroPad(num, places) {
  var zero = places - num.toString().length + 1;
  return Array(+(zero > 0 && zero)).join("0") + num;
}

result = "String begin ...." + zeroPad(o.m,2) + "Month" + ... + "String end ....";

そして、すべてのブラウザ/システムで正常に動作します。次のようなものが表示されます:
06か月26日09時間

しかし、Safariを搭載したiOS 4.3.2を搭載したiPAD1では、次のように表示されます。NaN
月NaN日NaN時間
(数値ではありません)

これらのアップル製品の何が問題になっていますか、どこに間違いがありますか?

//編集(DCoderの場合):
これは、行全体を生成するコードであり、あまり役に立たないと思います。

h = '<span class="f_normal"><span class="f_bold">' + zeroPad(o.m,2) + '</span> Month' + (o.m == 1 ? '': 's')+ '  <span class="f_bold">' + zeroPad(o.d,2) + '</span> Day' + (o.d == 1 ? '': 's') + '  <span class="f_bold">' + zeroPad(o.h, 2) + '</span> Hour' + (o.h == 1 ? '': 's') + '</span>';  

私が検索する本当の質問は、このバグはiPadにのみ表示されるということですか?!

4

1 に答える 1

0

文字列を整数としてキャストする必要があるようです:

http://www.javascripter.net/faq/convert2.htm

于 2012-04-11T15:18:50.373 に答える