JavaScript:数字计数器实时更新
javascript: number counter live updated
我正在寻找一种从给定日期开始每秒自动递增数字的方法,并且当我在页面上时,它必须实时更新。例如,我决定今天在 12.00.00 计数器将从 0 开始,然后它必须每秒更新一次(1 在 12.00.01,2 在 12.00.02 等等),我想看到数字在页面上实时变化。如果两个访问者在同一秒加载页面,他们将看到相同的数字,并且数字的增长将同步。我该怎么做?我对javascript很陌生,我发现了这个小提琴http://jsfiddle.net/dm6LL/5/
var amount = document.getElementById('amount');
var start = new Date("August 15, 2012 00:00:00").getTime();
var current;
update();
function update() {
var current = (new Date().getTime() - start)/1000*0.158+138276343;
amount.innerText = formatMoney(current);
}
setInterval(update,1000);
function formatMoney(amount) {
var dollars = Math.floor(amount).toString().split('');
var cents = (Math.round((amount%1)*100)/100).toString().split('.')[1];
if(typeof cents == 'undefined'){
cents = '00';
}else if(cents.length == 1){
cents = cents + '0';
}
var str = '';
for(i=dollars.length-1; i>=0; i--){
str += dollars.splice(0,1);
if(i%3 == 0 && i != 0) str += ',';
}
return '$' + str + '.' + cents;
}
这与我的目标相似,但它是用钱运行的,它并不是我所需要的。
你很接近。您所需要的只是对更新功能进行微小的更改。你可以跳过你的 formatMoney
功能。
尝试这样的事情:
function update() {
var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var current = (new Date().getTime() - start);
var diffDate = new Date(current);
var days = Math.round(current/oneDay);
amount.innerText = days + ":" + diffDate.getUTCHours() + ":" + diffDate.getUTCMinutes() + ":" + diffDate.getUTCSeconds();
}
基本上,它得到了开始和当前之间的差异,并将其放入amount
而不是货币价值。
还有计算两个日期之间的天数oneDay
。
您可以根据需要格式化输出,但这应该可以让您开始。
相关文章:
- 标记的实时更新,无需加载页面谷歌地图API V3
- 使用Ajax调用在服务器上实时更新页面
- 实时更新,无需刷新页面
- Dojo dGrid/dStore实时更新
- 如何在页面上进行实时更新
- 从JSON实时更新
- 我希望我的php/html网站上的JavaScript能够实时更新
- 使用php-js-msyql的实时更新消息系统
- 实时更新的持久连接
- Node js redis socket.io pubsub实时更新
- 在OpenCart中,我们如何实时更新数据
- Instagram实时更新没有回应
- 在react组件中使用ajax获取实时更新的数据
- 分析删除后更新计数器(_D)
- 如何使用highchart在yii中添加实时更新图表
- 将实时更新传递到条纹结账金额
- JavaScript 从 1 个文本区域实时更新到多个文本区域
- 在 PHP / Javascript 中实时更新时间
- JavaScript:数字计数器实时更新
- 实时更新Disqus评论计数器