2012-01-14 58 views
0

我检测到阅读器与网络摄像头之间的距离,因为我得到的值介于0和1之间。该值映射到字体大小,在本例中为13和25. 我希望它能够影响随着时间的推移变得平稳。它不顺利的那一刻。 如果我使用.animate然后它几乎不起作用,我认为这是因为它获得了距离每100ms一个新的价值和jquery现在不会如何动画的东西,动画甚至可以完成前得到改变。更改字体大小平滑

var fontSize = map(distance, 0, 1, 13, 25); 
$("#section_1").css({'font-size': fontSize}); 
//$("#section_1").animate({'font-size': fontSize}); 

function map(value, istart, istop, ostart, ostop) { 
    return ostart + (ostop - ostart) * ((value - istart)/(istop - istart)); 
} 

回答

0

如果该值动画之前改变可以完成,这是导致并发呼叫.animate(),只是第一次调用.stop()方法。 .stop()方法停止选定对象上的任何活动动画:

var fontSize = map(distance, 0, 1, 13, 25); 
$("#section_1").stop().animate({'font-size': fontSize}); 
+0

谢谢!它现在效果很好。 – clankill3r 2012-01-15 08:23:13