发布网友 发布时间:2022-04-23 08:52
共1个回答
热心网友 时间:2022-06-18 15:40
问题分析:
想要在一定时间内,事件回调函数仅执行一次,需要在外部做一个计时器变量。当进入事件的回调函数时,启动这个计时器,倒计时N秒后,计时器自动关闭。
每次进入事件回调函数的时候都要判断这个计时器是否为启动状态,如果是启动状态,直接跳出不执行事件即可。
举例如下:
案例为一个按钮的点击事件,最少10秒可执行一次,如果允许执行将提醒“按钮事件被触发”,如果不允许执行将提醒“目前按钮事件不允许被触发”。
HTML代码:
jQuery代码:
var time = 0;$('button').click(function() { //判断计时器是否处于关闭状态 if (time == 0) { time = 10; //设定间隔时间(秒) //启动计时器,倒计时time秒后自动关闭计时器。 var index = setInterval(function(){ time--; if (time == 0) { clearInterval(index); } }, 1000); alert('按钮事件被触发'); }else{ alert('目前按钮事件不允许被触发'); }});首次点击按钮的结果:
在10秒内再次点击按钮的结果: