效果:数值从0到10来回变化
代码:
var a=0var timer1,timer2;function add(){a++;console.log(a);if(a>=10){clearInterval(timer1);timer2=setInterval(sub,200);}}function sub(){a--;console.log(a);if(a<=0){clearInterval(timer2);timer1=setInterval(add,200);} }timer1=setInterval(add,200);
----------分割线------------------------
此效果看似简单,但是实际写的时候发现JS定时器有一些不易察觉的坑,一不小心就会造成定时器叠加,导致变化越来越快,直到变化间隔达到浏览器的极限(chrome的为5ms)。值得注意的是,虽然每次都用clearInterval把timer清楚掉了,但是每次新的循环还是会使timer的值在原有基础上加1
以上所述是小编给大家介绍的JS定时器实现数值从0到10来回变化,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!
新闻热点
疑难解答