(1)
//声明两个变量
var lastTime,num;
function lockClick() {
//获取当前毫秒数
var nowTime = new Date();
if (lastTime == undefined || Math.round(nowTime.getTime() - lastTime.getTime()) > 1000) {//判断两次点击之间的时间差
lastTime = nowTime;
num = 1;
} else {
lastTime = nowTime;
}
if (num == 1) {
console.log("我被点击了");
lastTime = nowTime;
num = 0;
}
}
(2)
有时候我们在JS编程的过程中经常遇到一个问题就是事件频繁高速被触发,利用计时器来控制频率又会丢弃掉有用的事件,我们只是想让程序执行最后一次的事件,那么就可以用如下方法解决问题
//写在事件外边,防止被注销
var iTime;
//写在事件内部
clearTimeout(iTime);
iTime = setTimeout(function () {
//需要执行的事件
}, 100);