JS中自定义定时器让它在某一时刻执行


有时,处于需求的原因,我们需要在JS中写一个方法,然后让它在某一时刻执行,即需要在JS中写一个定时器,当时间达到要求时间时,需要执行的方法自动执行,下面小编简单说一下我是怎么实现的

var tMinutes=0; 
var tHours=0; 
var go; 
function dingshi(hours,minutes){ 
tHours = hours; 
tMinutes = minutes; 
go=setInterval(run,3000); 
} 
function run(){ 
var date=new Date(); 
if((date.getMinutes()-tMinutes==0) 
&&(date.getHours()-tHours==0)){ 
clearInterval(go); 
getData(); //要执行的方法 
} 
} 
}

在dingshi中的参数hours,minutes是要执行的方法开始的时间,这里只是要求小时和分钟,具体情况下大家可自行添加参数,但要注意修改run方法中if中的判断条件。

getData为要执行的方法,也是根据实际情况自行修改,使用时调用dingshi方法即可。

还有要注意的是为了防止浏览器崩溃,setInterval的第二个参数我定为3000毫秒,即3秒,如果大家定时要求精确到秒,这里应该改成1000,否则可能会错过你设定的时间。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3