让一个按钮1分钟点击100次,超过100次不能点击,求大神解答,面试时这样想的window.onload = function () { let btn = document.getElementById("btn"); for (var i = 1; i <= 100; i++) { btn.onclick = (function (j) { return function () { setTimeout(function () { console.log(j);//每次都是100 }, 60000 / j); } })(i); }}但在setTimeout当中,j的值每次都是100,所以思路是不是有问题,求大佬解疑答惑
1 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
var times = 0;
let btn = document.getElementById("btn");
btn.onclick = function() {
// 执行些乱七八糟的逻辑
if(times >= 100) {
return false;
clearInterval(interval);
}
times +=1;
}
var interval = setInterval(function() {
btn.onclick();
},60000/100);
以下是一个直接在console里面运行的测试函数:
var times = 0;
var interval = setInterval(function() {
times ++;
console.log(times);
if(times == 100) {
clearInterval(interval);
return false;
}
},5000/100);
添加回答
举报
0/150
提交
取消