我想要秒数转换波斯数字(倒数20到0),我尝试这样做,但是我没有成功,下面是我的完整代码。我该怎么做?

演示:http://jsfiddle.net/JBzv7/

HTML:

<div id="#Seconds" style="font-size: 40px;">
20
</div>​


jQuery:

var rep = {
        '0': '&#1776;',
        '1': '&#1777;',
        '2': '&#1778;',
        '3': '&#1779;',
        '4': '&#1780;',
        '5': '&#1781;',
        '6': '&#1782;',
        '7': '&#1783;',
        '8': '&#1784;',
        '9': '&#1785;',
        ':': ':',
    }

var str = '';
var sec = 20

var timer = setInterval(function() {

    var sss = sec--;
    var arr = sss.split("");

    for (i = 0; i < arr.length; i++) {
    str += rep[arr[i]];
    }
    alert(str)
    $('#Seconds').text(str);

   if (sss == -1) {
      alert('ok');
      clearInterval(timer);
    }
},1000);​

最佳答案

function render(n) {
  var digits = [], r;
  do {
    r = n % 10;
    n = (n - r) / 10;
    digits.unshift(['&#', r + 1776, ';'].join(''));
  } while (n > 0);

  $('#Seconds').html(digits.join(''));
}

(function timer(current) {
  render(current);

  if (current > 0) {
    setTimeout(function () {
      timer(current - 1);
    }, 1000);
  }
}(20)); // the 20 is your countdown length


演示:http://jsfiddle.net/EHAsW/

09-30 16:19
查看更多