2015-04-04 20 views
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);,如果是這樣的話,有沒有其他簡單的方法來做我想要實現的?

回答

0

我已經想通了,我已經更換
window.requestAnimationFrame(frenzyModeBG);

window.setInterval(function(){ frenzyModeBG() }, 7500);