2012-04-11 2 views
1

Я получил этот код:JavaScript Ошибка на IPad

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 ...."; 

И на всех браузерах/Systems это работает отлично. Это показывает, что-то вроде:
06 месяцев 26 дней 09 часов

Но на Ipad1 с прошивкой 4.3.2 с Safari показывает:
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 ?!

+0

Можете ли вы показать код, который генерирует «06 месяцев 26 дней 09 часов» линии? Пробовали ли вы эту функцию использовать с жестко закодированными данными (например, что возвращает 'zeroPad (5, 2)')? Если это работает правильно, вам нужно посмотреть, как рассчитываются 'o.m',' o.h', 'o.d'. – DCoder

ответ

Смежные вопросы