Javascript-如何在计时器达到 0 时重置按钮计数器

莫诺莫尼

我正在尝试获得一个简单的点击计数器功能来倒计时用户剩余的点击次数,其中剩余的点击次数将每 24 小时重置一次。我浏览了一些教程,并在用户最大化点击后在警报中直观地实现了它。但是,一旦计时器达到 0,我该如何重置计数。

HTML

<p><button onclick="clickCounter()" type="button">Click</button></p>
<div id="result"></div>

JavaScript

function clickCounter() {
    var d = new Date();
  var hours = 24 - d.getHours();
  var min = 60 - d.getMinutes();
  if((min + '').length == 1){
    min = '0' + min;
  }
  var sec = 60 - d.getSeconds();
  if((sec + '').length == 1){
        sec = '0' + sec;
  }

    if(typeof(Storage) !== "undefined") {
        if (localStorage.clickcount) {
          if(Number(localStorage.clickcount) <= 0){
    alert('You have max the number of connect \nTime left: '+ hours+':'+min+':'+sec);
            localStorage.clickcount =4;
        }
            localStorage.clickcount = Number(localStorage.clickcount)-1
        } 
      else
          {
            localStorage.clickcount = 4;
          } 
        document.getElementById("result").innerHTML = "You have " + localStorage.clickcount + " clicks left.";
    } else {
        document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage...";
    }
}

这是它如何运行的示例。目前我已经将它设置为在警报弹出后立即重置,我只是想知道如何在计时器到时自动重置。感谢您的任何反馈和帮助

示例链接

尼玛布巴德

您可以设置间隔功能来检查时间并在时间到时重置值。我已更改您的代码以添加间隔函数

checkClickCount();

function clickCounter() {
    var d = new Date();
    var hours = 24 - d.getHours();
    var min = 60 - d.getMinutes();
    if ((min + '').length == 1) {
        min = '0' + min;
    }
    var sec = 60 - d.getSeconds();
    if ((sec + '').length == 1) {
        sec = '0' + sec;
    }

    if (typeof(Storage) !== "undefined") {
        if (localStorage.clickcount) {
            if (Number(localStorage.clickcount) < 1) {
                alert('You have max the number of connect \nTime left: ' + hours + ':' + min + ':' + sec);
                return;
            }
            localStorage.clickcount = Number(localStorage.clickcount) - 1
        } else {
            localStorage.clickcount = 4;
        }
        document.getElementById("result").innerHTML = "You have " + localStorage.clickcount + " clicks left.";
    } else {
        document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage...";
    }
}

var intv = null;

function checkClickCount(){
  // interval run a function in a specified period of time
  intv = window.setInterval(function(){

    var currentTime = new Date();

    var remainDateTime = new Date();
    remainDateTime.setHours(24 - currentTime.getHours());
    remainDateTime.setMinutes(60 - currentTime.getMinutes());
    remainDateTime.setSeconds(60 - currentTime.getSeconds());



    if(localStorage.clickcount > 1){
      return;
    }

    // If the remaining times finished, the click count will be reset
    if(remainDateTime.getHours() + remainDateTime.getMinutes() + remainDateTime.getSeconds() == 0){
      localStorage.clickcount = 4;
      document.getElementById("result").innerHTML = "You have " + localStorage.clickcount + " clicks";
      return;
    }

    document.getElementById("result").innerHTML = "You will get 4 more clicks in " + remainDateTime.getHours() + ":" + remainDateTime.getMinutes() + ":" + remainDateTime.getSeconds() + " later.";

  }, 1000);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在计时器达到0时向在游戏结束的iOS应用中添加计时器?

来自分类Dev

如何在javascript中从0到10分钟运行计时器?

来自分类Dev

如何在javascript / jquery中重置计时器?

来自分类Dev

倒数计时器达到0时,将其添加到倒数计时器中

来自分类Dev

如何在 0:00 停止计时器循环?

来自分类Dev

jQuery倒数计时器,在达到0后自动刷新

来自分类Dev

jQuery倒数计时器,达到0后自动刷新

来自分类Dev

当React.js中的计时器计数=== 0时,如何设置按钮不可见?

来自分类常见问题

如何在JavaScript中创建准确的计时器?

来自分类Dev

如何在JINT Javascript端创建计时器

来自分类Dev

如何在JavaScript中暂停和恢复计时器?

来自分类Dev

如何在 Javascript 中制作毫秒计时器?

来自分类Dev

如何在javascript中停止计时器?

来自分类Dev

HTML / Javascript按钮单击计数器

来自分类Dev

HTML / Javascript按钮单击计数器

来自分类Dev

Rails Redis重置计数器为0

来自分类Dev

达到目标时如何重置计数器

来自分类Dev

如何使计时器的JavaScript变量动态

来自分类Dev

如何修复此Javascript计时器

来自分类Dev

当计时器还剩0秒时如何隐藏计时器

来自分类Dev

计时器 - javascript

来自分类Dev

Javascript 计数器 0 到 99 设置总时间

来自分类Dev

使用jQuery / JavaScript时,点击计数器为100时启用按钮

来自分类Dev

如何在 Javascript 上为计时器制作暂停/播放按钮?

来自分类Dev

如何在JavaScript中使用服务器端倒数计时器?

来自分类Dev

如何在Pygame中达到特定情况时停止计时器

来自分类Dev

如何在计时器达到15秒时仅显示一次消息

来自分类Dev

如何在javascript中的新窗口中打开链接并仅在单击按钮时增加计数器?

来自分类Dev

使用JavaScript在php中计时器达到零时未调用Submit方法

Related 相关文章

  1. 1

    如何在计时器达到0时向在游戏结束的iOS应用中添加计时器?

  2. 2

    如何在javascript中从0到10分钟运行计时器?

  3. 3

    如何在javascript / jquery中重置计时器?

  4. 4

    倒数计时器达到0时,将其添加到倒数计时器中

  5. 5

    如何在 0:00 停止计时器循环?

  6. 6

    jQuery倒数计时器,在达到0后自动刷新

  7. 7

    jQuery倒数计时器,达到0后自动刷新

  8. 8

    当React.js中的计时器计数=== 0时,如何设置按钮不可见?

  9. 9

    如何在JavaScript中创建准确的计时器?

  10. 10

    如何在JINT Javascript端创建计时器

  11. 11

    如何在JavaScript中暂停和恢复计时器?

  12. 12

    如何在 Javascript 中制作毫秒计时器?

  13. 13

    如何在javascript中停止计时器?

  14. 14

    HTML / Javascript按钮单击计数器

  15. 15

    HTML / Javascript按钮单击计数器

  16. 16

    Rails Redis重置计数器为0

  17. 17

    达到目标时如何重置计数器

  18. 18

    如何使计时器的JavaScript变量动态

  19. 19

    如何修复此Javascript计时器

  20. 20

    当计时器还剩0秒时如何隐藏计时器

  21. 21

    计时器 - javascript

  22. 22

    Javascript 计数器 0 到 99 设置总时间

  23. 23

    使用jQuery / JavaScript时,点击计数器为100时启用按钮

  24. 24

    如何在 Javascript 上为计时器制作暂停/播放按钮?

  25. 25

    如何在JavaScript中使用服务器端倒数计时器?

  26. 26

    如何在Pygame中达到特定情况时停止计时器

  27. 27

    如何在计时器达到15秒时仅显示一次消息

  28. 28

    如何在javascript中的新窗口中打开链接并仅在单击按钮时增加计数器?

  29. 29

    使用JavaScript在php中计时器达到零时未调用Submit方法

热门标签

归档