js限制按钮每隔一段时间才能再次点击

设置属性 disabled 可以限制交互,单击按钮时添加disabled=“disabled”属性,再为按钮添加定时器,一定时间后删除定时器和disabled属性

 1 <!DOCTYPE html>
 2 <html lang="en">
 3
 4 <head>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <title>Document</title>
 9 </head>
10
11 <body>
12     <button id=‘but‘> 发送 </button>
13
14     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>
15     <script>
16         $(function() {
17             $(‘#but‘).click(function() {
18                 $(this).attr("disabled", "disabled");
19                 var id = 10;
20                 //定时执行
21                 var timeing = setInterval(function() {
22                     id = id - 1;
23                     $(‘#but‘).html(id + ‘s‘);
24                 }, 1000);
25                 //延迟执行
26                 window.setTimeout(function() {
27                     //结束定时,恢复按钮可用
28                     clearInterval(timeing);
29                     $(‘#but‘).html(‘发送‘).removeAttr("disabled");
30                 }, 10000);
31             });
32         });
33     </script>
34 </body>
35
36 </html>

或者用DOM

 1     <script>
 2         var but = document.getElementById(‘but‘);
 3         but.addEventListener(‘click‘, function() {
 4             var id = 10;
 5             var attr = document.createAttribute("disabled");
 6             attr.nodeValue = "disabled";
 7             //设置节点属性
 8             but.attributes.setNamedItem(attr);
 9             var timeing = setInterval(function() {
10                 id = id - 1;
11                 but.innerHTML = id + ‘s‘;
12             }, 1000);
13             window.setTimeout(function() {
14                 clearInterval(timeing);
15                 but.innerHTML = ‘发送‘;
16                 //移除节点属性
17                 but.attributes.removeNamedItem(‘disabled‘);
18             }, 10000);
19         });
20     </script>

原文地址:https://www.cnblogs.com/umbed/p/12039583.html

时间: 2024-11-10 09:20:15

js限制按钮每隔一段时间才能再次点击的相关文章

实现每次触发事件后隔一段时间后才能再次触发事件

比如: 每次点击“提交”按钮后隔3s后才能再次提交. 可以这样:点击后设置按钮不可用,并在3s后再设置按钮可用 $('#button1').click(function(){ //在这里提交或做别的事 $(this).attr("disabled",true); setTimeout("$('#button1').attr('disabled',false);", 3000); //此处setTimeout里面不能用$(this),this指的是window对象 }

setTimeout() 实现程序每隔一段时间自动执行

定义和用法 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法 setTimeout(code,millisec) 参数 描述 code 必需.要调用的函数后要执行的 JavaScript 代码串. millisec 必需.在执行代码前需等待的毫秒数. 提示和注释 提示:setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). [示例] //每5秒使用Ajax取一次

c#实现每隔一段时间执行代码(多线程)

总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用System.Threading.Timer: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

storm每隔一段时间发送tuple

TickTuple可以满足每隔一段时间发送tuple,"__system" component会定时往task发送 "__tick" stream的tuple, 发送频率由TOPOLOGY_TICK_TUPLE_FREQ_SECS来配置, 可以在default.ymal里面配置, 也可以在代码里面通过getComponentConfiguration()来进行配置. 代码里面配置如下 public Map<String, Object> getCompo

可以每隔一段时间自动运行的一个批处理

可以每隔一段时间自动运行的一个批处理  zidong.bat代码 @echo off :Begin Start "d:\print.bat" rem 下面这行是延时代码,300是秒做单位的,300秒就是5分钟,需要多长时间自改一下 @Ping 127.0.0.1 -n 300 Goto Begin 执行后有个问题是每次关不掉print.bat print.bat代码 net session /delete /y 问题有待解决

隔一段时间应用就会挂掉(进程在,但停止响应,也无log输出),必须重启tomcat

此处是转载的  是给自己做的备注 问题:隔一段时间应用就会挂掉(进程在,但停止响应,也无log输出),必须重启tomcat 原因查找:由于tomcat自身log中并无错误产生,磁盘空间足够,读写也正常,排除其他原因后怀疑是jvm崩溃导致,于是查gc日志:从上图可以看出每次full GC是老年代内存占用量相当小,远没有达到它的最大值,持久代也一样,而且每次GC过后,占用量基本没有变化,也就是说,每一次full GC都是在做无用功,白白浪费掉了一大批性能.从内存占用率方面看不是内存分配不够,应该是程

setTimeout() 实现程序每隔一段时间自己主动运行

定义和使用方法 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法 setTimeout(code,millisec) 參数 描写叙述 code 必需.要调用的函数后要运行的 JavaScript 代码串. millisec 必需.在运行代码前需等待的毫秒数. 提示和凝视 提示:setTimeout() 仅仅运行 code 一次.假设要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). [演示样例] //每5秒使用

delphi中我用定时器每隔一段时间执行操作

delphi中,我用定时器每隔一段时间执行数据库插入及更新工作!adoquery.close;adoquery.sql.cleare;adoquery.connection:=con1;adoquery.sql.add('exec addery');execsql;上面的基本语句!我的问题是:定时器执行时,在软件界面就会很卡,无法操作!请问是不是需要创建一个线程才能处理卡的问题呢?请大神们帮帮忙!非常感谢!如果是需要写线程,更希望能把线程也写出来!非常感谢! unit Unit1; interf

[转]kafka要等一段时间才能消费到数据

kafka要等一段时间才能消费到数据  pythonkafka 为什么用python写的kafka客户端脚本,程序一运行就能生产数据,而要等一段时间才能消费到数据(topic里面有数据).(pykafka和confluentKafka都一样) 只有极少的概率立刻可以消费到数据,大多数都要等个几分钟,很影响测试效率. 自己封装的一个给予confluentKafka的consumer对象 调用,topic里面是有内容的等一段时间也是可以消费到数据的 阅读 4.8k 赞 1踩 收藏关注 6 评论 更新