我检测到阅读器与网络摄像头的距离,因为我得到的值介于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));
}
答案 0 :(得分:0)
如果值在动画完成之前发生变化,这导致同时调用.animate()
,请先调用.stop()
方法。 .stop()
方法会停止所选对象上的所有活动动画:
var fontSize = map(distance, 0, 1, 13, 25);
$("#section_1").stop().animate({'font-size': fontSize});