原生js,怎么可以做到 多次点击只执行一次呢,如下demo

用js原生代码写了一个抽奖的小demo,能正常运行达到我们的目的,
但是连续点击多次按钮,会出现多次数字,怎么才可以做到 多次点击只执行一次呢?

img

img

这个问题的正解是前端的节流防抖,你在这个csdn搜一下就能看到很多的,

防抖节流问题,可以搜一下,相关代码,和他们之间的区别,从而决定出适合你的那一种方案!


var flag
    button.onclick=function(){
      if(!flag) return
      flag = false

      console.log(1)//要执行的代码

      setTimeout(function(){
        flag = true
      },1000)//多长时间内无法点击
    }

前端的防抖节流知识建议你学习


 
var flag
    button.onclick=function(){
      if(!flag) return
      flag = false
 
      console.log(1)//要执行的代码
 
      setTimeout(function(){
        flag = true
      },1000)//多长时间内无法点击
    }