我不确定这段代码是什么意思,一位朋友给了我一个让颜色淡入和淡出的功能。但我想知道每一位有什么作用?
lerp = function(a, b, u) {
return (1 - u) * a + u * b;
};
fade = function(element, property, start, end, duration) {
var interval = 10;
var steps = duration / interval;
var step_u = 1.0 / steps;
var u = 0.0;
var theInterval = setInterval(function() {
if (u >= 1.0) {
clearInterval(theInterval)
}
var r = parseInt(lerp(start.r, end.r, u));
var g = parseInt(lerp(start.g, end.g, u));
var b = parseInt(lerp(start.b, end.b, u));
var colorname = 'rgb(' + r + ',' + g + ',' + b + ')';
element.style.setProperty(property, colorname);
u += step_u;
}, interval);
};
答案 0 :(得分:0)
lerp是一个以百分比(0 - 1)计算两个值(a,b)之间的值(u)的函数。 interval是更新的缓慢程度,然后计算两种颜色之间的步数(步骤);然后它获得增加颜色之间百分比的数量(step_u)。 u是颜色之间的百分比,它使用setInterval在每个循环之间创建一个间隔为毫秒的循环,然后检查它是否应该 如果循环完成,则结束循环并使用clearInterval停止。 然后它将r,g,b定义为start和stop之间的颜色值,然后将元素颜色设置为rgb颜色;然后它会增加你。