我一直在使用这个脚本一段时间,但我似乎无法找到一种方法将值更改为十进制并保持脚本正常工作...
是否有人对如何每XXX秒添加0.07有更多专业知识。 JS小提琴或片段是首选!提前谢谢!
setInterval(function () {
$('#badge').html(parseInt($('#badge').html()) + 1);
}, 100);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="badge">0</span>
答案 0 :(得分:2)
只需使用Number()
功能:
setInterval(function () {
$('#badge').html((Number($('#badge').html()) + 0.07).toFixed(2));
}, 100);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="badge">0</span>
Number()
允许您使用float和整数,如果它是一个字符串,则将它们解析为数字,同时类似于parseInt()
+ parseFloat()
。
我使用toFixed(2)
编辑代码以将小数位数限制为2
答案 1 :(得分:0)
Parse the value to float如果您需要小数位的固定数字,请使用toFixed。
setInterval(function() {
var data = parseFloat($('#badge').text()) + 0.07;
$('#badge').html(data.toFixed(2));
}, 100);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="badge">0</span>
&#13;
答案 2 :(得分:0)
尝试 window.setTimeout()功能:
$().ready(function () {
doIncrement();
});
function doIncrement()
{
window.setTimeout(function () {
$("#badge").html((parseFloat($("#badge").html()) +0.07).toFixed(2));
doIncrement();
}, 1000);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="badge">0</span>
递归调用 doIncrement()函数。
包含某种形式的旗帜可能是一个好主意,这样它就不会无限循环。
答案 3 :(得分:0)
setInterval(function () {
$('#badge').html(parseFloat($('#badge').html()) + 0.07);,100);