0
我一直致力于对网站的背景进行动画制作,并且我有一个可视化工具在它背后,所以我制作了两个列表,它们应该具有相同的颜色时间:同时改变fillStyle作为背景颜色
var frenzyModeColors = ["#BC49FF", "#574FFF", "#47FFF2", "#3AFF3D", "#9FFF4C", "#EFFF49", "#FF8A54", "#FF4C4C"];
var frenzyModeVisualizerColors = ["#FF6B83", "#FF8C3F", "#3D81FF", "#5BD3FF", "#FF962D", "#FF0004", "#FF4300", "#D8FF4F"];
但由于某些原因,可视化只是要疯了,不断切换色,而不是采取一种颜色,使当前的和新的
这里的平稳过渡是我的代码有:
//frenzy mode background
function frenzyModeBG() {
window.requestAnimationFrame(frenzyModeBG);
if (frenzyMode == 1) {
$("#BGFrenzy").css("opacity", 1);
$("#visualizer").css("opacity", 1);
$("#BGFrenzy").animate({ backgroundColor : randomRgb() }, 2500);
ctx.fillStyle = frenzyModeVisualizerColors[BGcolor];
}
else {
$("#BGFrenzy").css("opacity", 0);
$("#visualizer").css("opacity", 0.1);
}
};
here's the website (进入媒体播放器的选项选项卡并激活狂潮模式看问题)
我已经试过这样做,而不是:
$("#BGFrenzy").animate({ backgroundColor : randomRgb() }, 2500, function(){
ctx.fillStyle = frenzyModeVisualizerColors[BGcolor];
});
,但它仍然没有工作喜欢它应该是
我几乎积极,这是因为window.requestAnimationFrame(frenzyModeBG);
,如果是这样的话,有没有其他简单的方法来做我想要实现的?