有时,处于需求的原因,我们需要在JS中写一个方法,然后让它在某一时刻执行,即需要在JS中写一个定时器,当时间达到要求时间时,需要执行的方法自动执行,下面小编简单说一下我是怎么实现的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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,否则可能会错过你设定的时间。