为了账号安全,请及时绑定邮箱和手机立即绑定

NodeJS 倒计时

NodeJS 倒计时

大话西游666 2022-07-15 09:50:27
我正在调用提交按钮并为每次点击添加选中的值。我想添加一个倒计时并说:每 60 秒只计算一次用户点击。否则显示警报。这是我的代码:form.addEventListener('submit', (e) => {    const choice = document.querySelector('input[name=os]:checked').value;    const data = {os:choice}    fetch('localhost:3000/poll', {        method: 'post',        body: JSON.stringify(data),        headers: new Headers({            'Content-Type': 'application/json'        })    })        .then(res => res.json())        .then(data => console.log(data))    // alert("Danke für die Abstimmung").catch(err => console.log(err));    e.preventDefault();});
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

您可以使用标志来检查时差。用户单击提交按钮后,您可以将时间存储在变量中。如果用户再次单击提交按钮,请检查当前时间和上次提交时间(存储在变量中)之间的差异。如果时间差小于 60 秒,则显示警报消息,否则执行发布请求。


var submissionTime = undefined;


form.addEventListener('submit', (e) => {

  e.preventDefault();


  var flag = true;


  if(submissionTime) {

    var milliseconds = new Date().getTime() - submissionTime.getTime();

    var seconds = Math.abs(milliseconds / 1000);

    if(seconds < 61) {

      flag = false;

      // show the alert

    }

  }

  

  if(flag) {

    submissionTime = new Date();

    const choice = document.querySelector('input[name=os]:checked').value;

    const data = {os:choice}


    fetch('localhost:3000/poll', {

        method: 'post',

        body: JSON.stringify(data),

        headers: new Headers({

            'Content-Type': 'application/json'

        })

    })

    .then(res => res.json())

    .then(data => console.log(data))

    // alert("Danke für die Abstimmung")

    .catch(err => console.log(err));

  }


});


查看完整回答
反对 回复 2022-07-15
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信