2014-03-13 45 views
-1

我相信這是我們主題中分頁的一部分,它在底部添加頁碼。對於CSS原因,雖然它輸出1,2,3,等等,然後10,11,12,要讓事情正確對齊它需要從一開始就那麼01,02,03,等Javascript,用0開始單個數字的數字?

它是兩位數有可能這樣做到這個代碼?

// generate pagination 
     if (option.generatePagination) { 
      // create unordered list 
      if (option.prependPagination) { 
       elem.prepend('<ul class='+ option.paginationClass +'></ul>'); 
      } else { 
       elem.append('<ul class='+ option.paginationClass +'></ul>'); 
      } 
      // for each slide create a list item and link 
      control.children().each(function(){ 
       $('.' + option.paginationClass, elem).append('<li><a href="#'+ number +'">'+ (number+1) +'</a></li>'); 
       number++; 
      }); 
     } else { 
      // if pagination exists, add href w/ value of item number to links 
      $('.' + option.paginationClass + ' li a', elem).each(function(){ 
       $(this).attr('href', '#' + number); 
       number++; 
      }); 
     } 
+5

你可以檢查'if(number <10)'並使用'number ='0'+ number'或者其他的東西 – RobinvdA

+1

[在JavaScript中用前導零填充一個數字](http://stackoverflow.com/questions/10073699/pad-a-number-with-leading-zeros-in-javascript) – Andy

+1

即使添加零(即使用等寬字體),您也永遠無法完成對齊。爲什麼不將LI的CSS設置爲固定寬度,而不是使用額外字符來修復格式問題? –

回答

1

我認爲這應該工作:

control.children().each(function(){ 
    if (number < 10) { 
     var stringNumber = '0' + (number + 1).toString() 
    } else { 
     var stringNumber = number + 1; 
    } 
    $('.' + option.paginationClass, elem).append('<li><a href="#'+ number +'">'+ (stringNumber) +'</a></li>'); 
    number++; 
}); 

我創造了新的變量stringNumber將舉行表示爲文本的數量,所以你仍然可以自由使用數字別處

+1

需要更改它的這個'(number + 1)'在同一行 –

+0

true。編輯,謝謝 –

+0

謝謝@JonasGrumann這樣做的工作,我結束了與上面的CSS想法滾動,這可能是正確的方式來做到這一點,但你的問題是真的有用的人誰想要輸出不同的編號格式,因爲這可以有用。 – realdannys

相關問題