定时器类型及语法
- setTimeout 只执行一次的定时器
- clearTimeout 关闭执行一次的定时器
- setInterval 反复执行的定时器
- clearInterval 关闭反复执行的定时器
简单用法:
//定时器调用函数,并给定时器命名 var time1 = setTimeout(myalert,2000); var time2 = setInterval(myalert,2000); //停止指定定时器 clearTimeout(time1); clearInterval(time2); function myalert(){ alert('ok!'); } //简写(匿名函数代替即可) var time1 = setTimeout( function(){ alert('ok!'); },2000);
实用的例子:
1、 动态显示当前时间
效果图:

<script type="text/javascript"> window.onload = function(){ var oDiv = document.getElementById('div1'); function timego(){ var *** = new Date(); var year = ***.getFullYear(); //0-11月 var month = ***.getMonth()+1; var date = ***.getDate(); //0-6周,0是周日 var week = ***.getDay(); var hour = ***.getHours(); var minute = ***.getMinutes(); var second = ***.getSeconds(); var str = '当前时间是:'+ year + '年'+month+'月'+date+'日 '+toweek(week)+' '+todou(hour)+':'+todou(minute)+':'+todou(second); //修改div内容为str oDiv.innerHTML = str; } //第一秒的时候没有执行,要先执行一下 timego(); setInterval(timego,1000); } //‘周’格式 function toweek(n){ if(n==0) { return '星期日'; } else if(n==1) { return '星期一'; } else if(n==2) { return '星期二'; } else if(n==3) { return '星期三'; } else if(n==4) { return '星期四'; } else if(n==5) { return '星期五'; } else { return '星期六'; } } //时分秒小于10的加‘0’ function todou(n){ if(n<10) { return '0'+n; } else { return n; } } </script> ...... <div id="div1"></div>
2、倒计时
效果图:
<script type="text/javascript"> window.onload = function(){ var oDiv = document.getElementById('div1'); function timeleft(){ var *** = new Date(); //月份要减1 var future = new Date(2019,0,1,24,0,0); //parseInt取整 var lefts = parseInt((future-***)/1000); var day = parseInt(lefts/86400); var hour = parseInt(lefts%86400/3600); var min = parseInt(lefts%86400%3600/60); var sec = lefts%60; str = '距离2019年1月1日晚24点还剩下'+day+'天'+hour+'时'+min+'分'+sec+'秒'; //修改div内容为str oDiv.innerHTML = str; } timeleft(); setInterval(timeleft,1000); } </script>
常见问题
原文链接:https://www.yuanmawu.net/60160.html,转载请注明出处。
请先
!