倒计时器中的一个不错的选择 - 放置" 0"在单个数字前面

时间:2013-12-11 08:54:22

标签: jquery html css

我一直在构建倒数计时器,我想知道我是否可以替换此代码:

if( daysLeft< 10){
  daysLeft = "0" + daysLeft;
 }

 if( hoursLeft< 10){
  hoursLeft = "0" + hoursLeft;
 }

 if( minutesLeft< 10){
  minutesLeft = "0" + minutesLeft;
 }

 if( secondsLeft< 10){
  secondsLeft = "0" + secondsLeft;
 }

用更合适的东西(更好)。 小提琴: http://jsfiddle.net/U7R6W/6/ 谢谢!

4 个答案:

答案 0 :(得分:3)

干嘛:

function zeroPad(number)
{
  if (number < 10)
    return ("0" + number);
  return (number.toString());
}

然后在您需要的地方使用zeroPad

此方法在每种情况下都返回一个String以保持一致性。

答案 1 :(得分:2)

创建一个函数来执行此操作:

function addLeadingZero(i) {
    if(i < 10)
        return "0" + i;
    return i;
}

然后像这样使用它:

var x = 5;
var result = addLeadingZero(x);

答案 2 :(得分:2)

无论增强原型是否有坏的论点,一个有效的解决方案是:

Number.prototype.twoDigitString = function(){ 
                                     return this<10?"0"+this:""+this.toString();
                                  }

然后你就可以这样做:

secondsLeft.twoDigitString();
minutesLeft.twoDigitString();

获取格式化的输出。

答案 3 :(得分:1)

尝试

 String.prototype.leftPad = function() { 
            var final = (this.length>1) ? this : "0" + this; 
            return final.toString();
 }
"2".leftPad(); // return "02"
"22".leftPad(); // return "22"