使用千位分隔符格式化 setInterval() 计时器
Formatting a setInterval() Timer with thousands separators
这里是新手,我一直在玩这个 setInterval() 计数计时器,我的目标是让计数器在计数时显示千位 (,) 分隔符。有没有一种简单的方法可以做到这一点,还是需要一个困难的解决方案?我试过使用 toLocaleString,但无济于事。到目前为止,这是我的代码。
<p id="test">0</p>
<button id="button" onclick="b().toLocaleString('en-US')">Start</button>
<script>
var c = 0;
function a() {
document.getElementById("test").innerHTML = ++c;
}
function b() {
setInterval(a, 5);
}
</script>
将所有内容放入 a()
。让c
首先作为数字递增,然后用.toLocalString()
将其格式化为字符串,然后将字符串分配给DOM。在示例中,<p>
已更改为 <output>
,并且字符串分配给它的 .value
属性。 b()
只是一个开始间隔的包装器,它没有 return 值,因此 b().toLocalString()
除了引发错误外什么都不做。
<output id="test">0</output><br>
<button onclick="b()">Start</button>
<script>
const test = document.getElementById("test");
let c = 0;
function a() {
++c;
let formatted = c.toLocaleString('en-US');
test.value = formatted;
}
function b() {
setInterval(a, 5);
}
</script>
您的代码中的问题是您将 .toLocaleString('en-US')
调用到 b()
,但是 b()
没有返回任何内容,因此 .toLocaleString('en-US')
没有处理任何内容。
正确的方法是将 .toLocaleString('en-US')
转换为字符串(例如 c
),然后将其打印为 document.getElementById("test")
.
var c = 0;
function a() {
++c;
document.getElementById("test").innerHTML = c.toLocaleString('en-US');
}
function b() {
setInterval(a, 5);
}
<p id="test">0</p>
<button id="button" onclick="b()">Start</button>
这里是新手,我一直在玩这个 setInterval() 计数计时器,我的目标是让计数器在计数时显示千位 (,) 分隔符。有没有一种简单的方法可以做到这一点,还是需要一个困难的解决方案?我试过使用 toLocaleString,但无济于事。到目前为止,这是我的代码。
<p id="test">0</p>
<button id="button" onclick="b().toLocaleString('en-US')">Start</button>
<script>
var c = 0;
function a() {
document.getElementById("test").innerHTML = ++c;
}
function b() {
setInterval(a, 5);
}
</script>
将所有内容放入 a()
。让c
首先作为数字递增,然后用.toLocalString()
将其格式化为字符串,然后将字符串分配给DOM。在示例中,<p>
已更改为 <output>
,并且字符串分配给它的 .value
属性。 b()
只是一个开始间隔的包装器,它没有 return 值,因此 b().toLocalString()
除了引发错误外什么都不做。
<output id="test">0</output><br>
<button onclick="b()">Start</button>
<script>
const test = document.getElementById("test");
let c = 0;
function a() {
++c;
let formatted = c.toLocaleString('en-US');
test.value = formatted;
}
function b() {
setInterval(a, 5);
}
</script>
您的代码中的问题是您将 .toLocaleString('en-US')
调用到 b()
,但是 b()
没有返回任何内容,因此 .toLocaleString('en-US')
没有处理任何内容。
正确的方法是将 .toLocaleString('en-US')
转换为字符串(例如 c
),然后将其打印为 document.getElementById("test")
.
var c = 0;
function a() {
++c;
document.getElementById("test").innerHTML = c.toLocaleString('en-US');
}
function b() {
setInterval(a, 5);
}
<p id="test">0</p>
<button id="button" onclick="b()">Start</button>