我需要每3秒执行一次功能,最多1分钟。当用户专注于输入框时,应调用此方法。
我已经尝试过谷歌搜索,但大多数都是使用setInterval函数。我知道setInterval可用于在特定时间间隔内调用函数。但如果时间达到1分钟,我需要停止。
请在此建议我。
答案 0 :(得分:1)
试试这个 -
var time = 0;
var interval = setInterval(function(){
// do your stuf
time += 3000;
if(time >= (1000*60)){ // one minute
clearInterval(interval);
}
},3000);
<强> Working Demo 强>
答案 1 :(得分:1)
在文本框的输入焦点上尝试:
var startTime = new Date().getTime();
var interval = setInterval(function(){
if(new Date().getTime() - startTime > 60000){
clearInterval(interval);
return;
}
//do whatever here..
}, 3000);
<强> Working Demo 强>
演示代码:
$('input').one('focus',function(){
var startTime = new Date().getTime();
var interval = setInterval(function(){
if(new Date().getTime() - startTime > 60000){
clearInterval(interval);
alert('interval cleared');
return;}console.log('test')}, 3000);})