2

ペルシャ数字を変換する秒数 (20 から 0 へのカウントダウン) が必要です。それを試してみましたが、成功しませんでした。私はどのように行いますか?

デモ: http://jsfiddle.net/JBzv7/

HTML:

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

Jクエリ:

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);​
4

3 に答える 3

1

HTMLファイルで、 <div id="#Seconds" style="font-size: 40px;">が正しくありません。IDはSeconds、なしで、だけである必要があり#ます。プレフィックスは、クラス(プレフィックスを付ける)やタグのタイプ(プレフィックスなし)ではなく、IDで#あるJqueryに伝える方法です。ただし、ID自体の一部ではありません。Seconds.

于 2012-08-30T15:09:34.167 に答える
1
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/

于 2012-08-30T15:12:23.203 に答える
0

オブジェクトを設定したrep方法は、数値を選択するのに適しています。変数splitの値をsec取得して、オブジェクトの関連プロパティを読み取ることができます。htmlの代わりに使用する必要があることに注意してくださいtext

また、次のように変更します。

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

に:

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

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--;
    if (sss == -1) {
      clear();
    }
    if (sss < 10) {sss = "0" + sss.toString()}
    var v = sss.toString().split("");
    str = rep[v[0]].toString() + rep[v[1]].toString();        
    $('#Seconds').html(str);     
},1000);

function clear() {
   clearInterval(timer)
   alert('okay')    
} 

フィドル

于 2012-08-30T15:16:25.637 に答える