我希望将波斯数字转换为秒数(倒数20到0),我试试,但我没有成功,以下是我的完整代码。我该怎么办?
演示: http://jsfiddle.net/JBzv7/
HTML:
<div id="#Seconds" style="font-size: 40px;">
20
</div>
Jquery的:
var rep = {
'0': '۰',
'1': '۱',
'2': '۲',
'3': '۳',
'4': '۴',
'5': '۵',
'6': '۶',
'7': '۷',
'8': '۸',
'9': '۹',
':': ':',
}
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);
答案 0 :(得分:1)
在您的HTML文件中
<div id="#Seconds" style="font-size: 40px;">
不正确。该ID应为Seconds
,不包含#
。 #
前缀是告诉Jquery Seconds
是id的方式,而不是类(使用.
前缀)或标记类型(无前缀)。但它不是身份本身的一部分。
答案 1 :(得分: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
答案 2 :(得分:0)
您设置rep
对象的方式适合选择数字,您可以split
sec
变量的值并读取对象的相关属性。请注意,您应该使用html
而不是text
。
同样改变:
<div id="#Seconds" style="font-size: 40px;">
20
</div>
为:
<div id="Seconds" style="font-size: 40px;">
۲۰
</div>
var rep = {
'0': '۰',
'1': '۱',
'2': '۲',
'3': '۳',
'4': '۴',
'5': '۵',
'6': '۶',
'7': '۷',
'8': '۸',
'9': '۹',
':': ':',
}
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')
}