我搜索了这个问题的解决方案,但无法找到解决方案。如果有人能指出我正确的方向,那就太好了。
好的,假设有一个数字: -
0.001
我想要做的是,添加 0.001(相同的数字)一次又一次,并且还会动态显示更改。
所以: -
second 1 :- 0.001
second 2:- 0.002
second 3 :- 0.003
这必须继续运行 1小时,我应该能够看到它的价值在我的网页上动态变化。我怎样才能做到这一点?我做了很多关于使用 countup.js 的研究,但没有结果。我想到了使用ajax的解决方案,但这会导致很多负载。 什么是我能在这做的最好的?
答案 0 :(得分:0)
var value = 0.001; //value to start
var inc = 0.001; //increment
var end = 0.010; //to test , 1 hour is 3.600
var _interval = setInterval(function() {
document.getElementById('midiv').innerHTML = value;
value += inc;
value = parseFloat(value.toFixed(3));
if (value > end) {
clearInterval(_interval);
}
}, 1000);
<div id="midiv">
</div>
答案 1 :(得分:0)
你也可以尝试这个
<div id="display"></div>
var number = 1;
var timer = function(){
number++;
document.getElementById('display').innerHTML = parseFloat(number / 1000);
if(number < 3600){ // 1 hour check
setTimeout(timer,1000);
}
};
timer();
答案 2 :(得分:0)
这是example使用rxjs
var interval = 1000;
var totrun = 60*1000
var v = 0
const source = Rx.Observable
.interval(interval)
.takeUntil(Rx.Observable.timer(totrun));
const subscription = source.subscribe(
t => {
v=v+0.001
$('#v').html(v);
},
err => console.log('Error: ' + err),
() => console.log('Completed'));
答案 3 :(得分:-1)
var interval = setInterval(function(){
var old = parseFloat($(".number").html());
var newValue = old + 0.001;
$(".number").html(newValue);
}, 1000);
// this clears the interval loop from firing after 1 hour
setTimeout(function(){
clearInterval(interval);
}, 3600000)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="number">0.001</div>
应该做的伎俩
答案 4 :(得分:-1)
这是你想要的吗? 随意玩它
var c = 0.000;
var count = document.getElementById('count');
count.innerHTML = c;
// Creates the interval with the name interval
var interval = setInterval(function() {
c += 0.001
count.innerHTML = c;
// Its possible that you will see 0.00300000000007 artifacts
// You can fix it by converting it to a string and showing only a part
// count.innerHTML = ("" + c).substring(0, 5);
}, 100) // 1/10 sec for demo
// Clear the interval after one hour
setTimeout(function() {
clearInterval(interval)
}, 1000) // one second for demo
counter: <span id="count"></span>