gpt4 book ai didi

javascript - 简单的 JavaScript 计数器,可以在网页关闭后暂停和恢复

转载 作者:行者123 更新时间:2023-11-28 04:10:58 24 4
gpt4 key购买 nike

我需要创建一个非常简单的基于 Javascript 的计数器,它计算货币(小数点后两位)并每分钟增加 0.18 的值。这个想法是代表公司新太阳能电池板的“实时”估计节省,并且该计数器将由员工每天启动和停止,并在第二天继续。

我发现了其他人的开始/恢复计数器 fiddle :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(); });

到目前为止这很棒,但我需要以下内容:

  1. 它不能计算时间,而是计算金钱。
  2. 必须将其保存到服务器,以防计算机关闭。

谢谢!

最佳答案

为了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>

希望这提供了正确的方向。

关于javascript - 简单的 JavaScript 计数器,可以在网页关闭后暂停和恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46275281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com