Обратный отсчет до двух цифр
У меня есть этот скрипт, и он отлично работает, но я хочу изменить его на две цифры, то есть, если осталось 2 дня, то покажите его как 02 дня. Это скрипт:
<script>
function renderMessage(dateStr, msg1, msg2, countFrom) {
var date = new Date(dateStr);
var now = new Date();
var diff = date.getTime() - now.getTime();
var days = Math.floor(diff / (1000 * 60 * 60 * 24)) + 1;
if(days < 1) {
document.write(msg1);
} else {
if(countFrom)
days = countFrom - days;
document.write(msg2.replace(/%days%/g, number_format(days)));
}
}
function number_format(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) {
num = "0";
}
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
num = Math.floor(num/100).toString();
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num);
}
</script>
<script>
renderMessage("November 29, 2012", "You missed it!", "Hurry, there's only %days% days to go!");
</script>
Я действительно ценю твою помощь.
1 ответ
Добавьте условно для любого числа меньше 10:
if (num < 10)
num = "0" + Math.floor(num/100).toString();
else
num = Math.floor(num/100).toString();