jq 如何写某个点击事件在规定时间才生效

如题所述

问题分析:

想要在一定时间内,事件回调函数仅执行一次,需要在外部做一个计时器变量。当进入事件的回调函数时,启动这个计时器,倒计时N秒后,计时器自动关闭。

每次进入事件回调函数的时候都要判断这个计时器是否为启动状态,如果是启动状态,直接跳出不执行事件即可。

举例如下:

案例为一个按钮的点击事件,最少10秒可执行一次,如果允许执行将提醒“按钮事件被触发”,如果不允许执行将提醒“目前按钮事件不允许被触发”。

HTML代码:


<button>这是一个按钮</button>

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秒内再次点击按钮的结果:

温馨提示:答案为网友推荐,仅供参考