Math.ceil函数实现步步逼近设定值
在使用定时器,让某个变量自增或减(此处只考虑自增)慢慢靠近某个设定值时,往往很难控制其恰到好处。所有在精度要求比较高,为了使其达到协调和美观,可以利用Math.ceil函数来实现。
例如:
1 var year = 0;
2 var doomsday = 2012;
3 if(year == doomsday){
4 alert("世界末日来了");
5 }
这样我可以定义一个函数和一个定时器,是这两者的值靠近
1 var year = 0;
2 var doomsday = 2012;
3 function add(){
4 var dist = Math.ceil((doomsday - year)/10);
5 year = year + dist;
6 var timeID = setTimeout(add,5)
7 if(year == doomsday){
8 alert("世界末日到了");
9 clearTimeout(timeID);
10 }
11 }
第4、5两行利用了步步逼近的原理
浙公网安备 33010602011771号