将fontsize更改为smooth

时间:2012-01-14 23:08:20

标签: javascript jquery html

我检测到阅读器与网络摄像头的距离,因为我得到的值介于0和1之间。该值我映射到fontsize,在本例中为13和25。 我希望它能随着时间的推移而顺利实现。它一刻也不顺利。 如果我使用.animate,那么它几乎不起作用,我认为这是因为它每100毫秒得到一个新的距离值,而现在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));
}

1 个答案:

答案 0 :(得分:0)

如果值在动画完成之前发生变化,这导致同时调用.animate(),请先调用.stop()方法。 .stop()方法会停止所选对象上的所有活动动画:

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