2012-01-14 63 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