Javascript编号在当前日期增加**并保存每次增加**

时间:2017-07-31 11:27:33

标签: javascript time increment

这一定非常简单,过去三个小时内无法找到解决方案:

我想在我的网站上显示一个数字(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;

3 个答案:

答案 0 :(得分:0)

您可能希望将其存储在某个地方,这可能是一个cookie,或者更容易将其存储在数据库中。您可以通过每隔几秒或几分钟更新一次数据库,为每个用户说出他们花了多长时间。然后,您需要做的就是获取数据并检查数据的位置。

目前,您的方法要求用户连续打开页面,实际上每次都会重新打开页面,因为JavaScript无法记住以前花费的时间。

答案 1 :(得分:0)

您可以将其保存在客户端localStorage。 这是reference

如果您希望每个人都获得相同的结果,则应在服务器上执行此操作。

答案 2 :(得分:0)

将数据保存在localStorage中肯定会有所帮助:

localStorage.setItem(//takes an object);

用于检索:

document.querySelector("...").innerHTML = localStorage.getItem(//takes object key);