这一定非常简单,过去三个小时内无法找到解决方案:
我想在我的网站上显示一个数字(100),这个数字会在过去几天增加,问题是当我重新加载网站时这个数字会回到100,我该如何让这个数字随着时间的推移而增加?
以下是代码:
<script>
var smyle = 11406;
var happyclients = 1006;
var hours = 4220;
window.setInterval(
function () {
smyle = smyle + 2;
document.getElementById("smiles").innerHTML = smyle;
}, 2880);
window.setInterval(
function () {
happyclients = happyclients + 4;
document.getElementById("happy").innerHTML = happyclients;
}, 28800000);
window.setInterval(
function () {
hours = hours + 8
document.getElementById("hoursspent").innerHTML = hours;
}, 86400000);
</script>
HTML
<div class="col-md-3 col-sm-6 animate-box" data-animate-effect="fadeInLeft">
<div class="feature-center">
<span class="icon">
<i class="ti-music"></i>
</span>
<span class="counter js-counter" data-from="0" data-to="" data-speed="4000" data-refresh-interval="50" id="smiles"></span>
<span class="counter-label">Smiles Created</span>
</div>
</div>
我是JS的新手,之前曾尝试使用PHP但无法找到答案,这是我得到的最接近的。
到目前为止,我已经在你的帮助下得到了这个,将数据存储在本地数据库中的想法非常干净和高效,但是我还没有能够使它工作(请参阅更改)在代码的底部)
我已经阅读了大量关于此的文档,我认为订单是正确的,但是它是吗?
<script>
var smyle = 11000;
var happyclients = 1006;
var hours = 4220;
window.setInterval(
function () {
smyle = smyle + 2;
document.getElementById("smiles").innerHTML = smyle;
}, 288);
window.setInterval(
function () {
happyclients = happyclients + 4;
document.getElementById("happy").innerHTML = happyclients;
}, 288);
window.setInterval(
function () {
hours = hours + 8
document.getElementById("hoursspent").innerHTML = hours;
}, 864);
if (typeof(Storage) !== "undefined") {
// Store
localStorage.setItem("smyle");
//Retrieve
document.querySelector("smiles").innerHTML = localStorage.getItem("smyle");
} else {
document.write(11404);
}
</script>
我还没有改变HTML部分中的任何内容,因此id仍然是id =&#34;微笑&#34;
答案 0 :(得分:0)
您可能希望将其存储在某个地方,这可能是一个cookie,或者更容易将其存储在数据库中。您可以通过每隔几秒或几分钟更新一次数据库,为每个用户说出他们花了多长时间。然后,您需要做的就是获取数据并检查数据的位置。
目前,您的方法要求用户连续打开页面,实际上每次都会重新打开页面,因为JavaScript无法记住以前花费的时间。
答案 1 :(得分:0)
您可以将其保存在客户端localStorage
。
这是reference
如果您希望每个人都获得相同的结果,则应在服务器上执行此操作。
答案 2 :(得分:0)
将数据保存在localStorage
中肯定会有所帮助:
localStorage.setItem(//takes an object);
用于检索:
document.querySelector("...").innerHTML = localStorage.getItem(//takes object key);