每次用户单击刷新时,计数器数减去1,当它达到1时,重置为7-javascript

minus counter number by 1 every time the user clicks refresh and when it gets to 1 reset back to 7 - javascript?

本文关键字:1时 7-javascript 单击 用户 刷新 计数器      更新时间:2023-09-26

我有一个计数器片段,现在它已经设置好了,每1000ms从7开始倒计时,但我想让它做的是

  1. 不设置动画
  2. 当用户单击刷新时,它会下降一,所以它是静态的

这是我目前拥有的部分代码,其余部分在它的核心javascript文件中,它从中获得了一些语法。

<script type="text/javascript">
    var myCounter = null
    var timerId = null
    function loadCounter() {
        myCounter = new Counter("my_counter",{
            digitsNumber: 2,
            direction: Counter.ScrollDirection.Upwards,
            characterSet: Counter.DefaultCharacterSets.numericUp,
            charsImageUrl: "_images/numeric_up_blackbg5.png",
            markerImageUrl: "_images/marker.png"
        });
        myCounter.value = 7;
        timerId = window.setInterval("myCounter.setValue(parseInt(myCounter.value) - 1, 450);", 1000); 
    }
    loadCounter();
</script>

我在javascript方面非常缺乏经验,所以如果你能做到面面俱到,那就太棒了。非常感谢:)

正如注释所建议的那样,每次刷新页面时,您的javascript变量都会被清除。因此,您不能将计数器存储在JS变量中。

你有两个选项

1) 如果您使用诸如PHP、ASP等服务器端技术,则可以将其存储在文本文件中。

2) 使用cookie。这可能是最简单的方法。

因此,当用户第一次访问页面时,请检查是否存在cookie。如果是,那么你可以增加其中的计数器,并检查它是否等于7。

如果它不存在,请创建一个你可能想使用会话Cookie的页面,这样一旦用户关闭浏览器,它就会过期。假设用户一周前访问了该页面,今天又回来了,你不想保留计数器。有关如何读取和写入会话cookie的一些信息,请参阅此处http://www.javascriptkit.com/javatutors/cookie.shtml