这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
最近做项目遇到一需求要求实现数值从 0 到 10 来回变化,下面小编给大家分享下实现代码,需要的朋友参考下
效果:数值从 0 到 10 来回变化
代码:
- var a=0
- var 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 来回变化,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 phperz 网站的支持!
来源: http://www.phperz.com/article/17/0518/329737.html