(节流)js防止重复频繁点击或者点击过快方法

1.方法一:用定时器定时,没跑完定时器,点击按钮无效
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
    var isClick = true;
    $("button").on("click",function(){
        if(isClick) {
            isClick = false;
            //事件
            console.log('我被点击了');
            //定时器
            setTimeout(function() {
                isClick = true;
            }, 1000);//一秒内不能重复点击
        }else{
             console.log('请勿过快点击');
      }
    });
</script>

  

2.方法二:用两次时间差决定点击是否有效——参考地址如下:

https://www.cnblogs.com/clear93/p/8086374.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var lastClick;  
lockClick(){
    var nowClick = new Date();
    if (lastClick === undefined) {
        lastClick = nowClick;
        return true;
    } else {
        if (Math.round((nowClick.getTime() - lastClick.getTime())) > 500) {
            lastClick = nowClick;
            return true;
        }
        else {
            lastClick = nowClick;
            return false
        }
    }
}
  
    this.on('click',()=>{
        if (this.lockClick()) {
            //你的函数代码
        }
    })

  

三.方法三:比如每次点击的时候给按钮一个500毫秒的遮罩闪现来遮盖按钮

 

posted @   喆星高照  阅读(4217)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示