lv

导航

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两行利用了步步逼近的原理

posted on 2012-01-30 23:46  lv.00  阅读(220)  评论(0)    收藏  举报