【发布时间】:2012-04-11 15:16:43
【问题描述】:
我得到了这个代码:
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 小时
但在带有 iOS 4.3.2 和 Safari 的 iPAD1 上显示:
NaN Months NaN Days NaN Hours
(不是数字)
这些苹果产品有什么问题,错在哪里?
//编辑(用于 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 上?!
【问题讨论】:
-
你能显示实际生成“06 Months 26 Days 09 Hours”行的代码吗?您是否尝试过使用硬编码数据调用该函数(例如
zeroPad(5, 2)返回什么)?如果运行正常,那么您需要查看o.m、o.h、o.d的计算方式。
标签: javascript ios ipad mobile-safari ios4