我需要创建一个非常简单的基于Javascript的计数器,它计算货币(所以两个小数位)并且每分钟增加0.18。这个想法是通过公司的新太阳能电池板代表“实时”估计的节省,这个柜台将由员工每天启动和停止,并在第二天继续。
我找到了其他人的小提琴,用于开始/恢复计数器:http://jsfiddle.net/f9X6J/ HTML:
<span id="hour"></span>
<span id="min"></span>
<span id="sec"></span>
<input id="pauseButton" type="button" value="Pause">
<input id="resumeButton" type="button" value="Resume">
使用Javascript:
var Clock = {
totalSeconds: 1000,
start: function () {
var self = this;
this.interval = setInterval(function () {
self.totalSeconds += 1;
$("#hour").text(Math.floor(self.totalSeconds / 3600));
$("#min").text(Math.floor(self.totalSeconds / 60 % 60));
$("#sec").text(parseInt(self.totalSeconds % 60));
}, 1000);
},
pause: function () {
clearInterval(this.interval);
delete this.interval;
},
resume: function () {
if (!this.interval) this.start();
}
};
Clock.start();
$('#pauseButton').click(function () { Clock.pause(); });
$('#resumeButton').click(function () { Clock.resume(); });
到目前为止这很棒,但我需要以下内容:
谢谢!
答案 0 :(得分:0)
为了2019年的初学者。这两个问题的答案是,
1)将计数器保留在时钟对象之外,并在时钟处于活动状态时每秒向其添加1。这将提供时钟处于活动状态的总秒数。然后可以随时将其转换为总节省额。
2)暂时不要跳到服务器端。尝试将总计存储在localStorage中,即使关闭计算机电源,该存储仍然存在,直到在浏览器中清除了浏览数据为止。这样可以避免增加很多复杂性。下面是一个在本地存储值并从中读取值的示例。
<html>
<head></head>
<body>
<div id="counter"></div>
</body>
<script>
var counter;
if( localStorage.getItem("counter") == null) {
counter = 0;
localStorage.setItem("counter", counter);
} else {
counter = localStorage.getItem("counter");
}
document.getElementById('counter').textContent = counter;
setInterval(function(){
counter = parseInt(counter)+1;
localStorage.setItem("counter", counter);
document.getElementById('counter').textContent = counter;
},1000);
</script>
</html>
希望这提供了正确的方向。