2015-09-25 188 views
-1

我試圖改變一個漸變背景的顏色實物迷幻的方式(顏色將是不可思議)更改顏色(鉻)

我寫了下面的代碼,但我不明白爲什麼我根本不能改變背景顏色。

var start1 = [0,216,255]; 
var start2 = [50,255,224]; 
setInterval(function(){ 
    $("body").css("background", "-webkit-gradient(linear, 0% 0%, 100% 0%, from(rgb("+start1[0]+", "+start1[1]+", "+start1[2]+")), to(rgb("+start2[0]+", "+start2[1]+", "+start2[2]+")));"); 
    start1[0] = checknumber(start1[0]+1); 
    start1[1] = checknumber(start1[1]+1); 
    start1[2] = checknumber(start1[2]+1); 
    start2[0] = checknumber(start1[0]+1); 
    start2[1] = checknumber(start1[1]+1); 
    start2[2] = checknumber(start1[2]+1); 
},100); 

我沒有得到任何錯誤,背景只保留白色。我猜這將是比我想象的

的的checknumber()功能只檢查,如果數大於255-如果是那麼它在0

+0

這將是*多*簡單的設置這個CSS類,然後只需用'addClass ()'在'body'元素上。 –

+0

小提琴會讓你很容易幫到你 – Saar

回答

1

重置回你在尋找一個更復雜一點這樣的事情:

http://jsfiddle.net/4nuhpmov/

的問題是你的CSS語法,我想你可能已經使用舊的參考。

我改變了CSS操縱的JavaScript如下:

$("body").css("background", 
    "linear-gradient(" + degrees + "deg, rgba(" + start1[0] + ", " + start1[1] + ", " + start1[2] + ", 1), rgba(" + start2[0] + ", " + start2[1] + ", " + start2[2] + ", 1))"); 

我還增加了度的計數器。

這可能不是最好的辦法,但它應該讓你開始(我不認爲這是像你期望的那麼微妙/瘋狂,但你可以玩弄值)。

您可以使用下面的鏈接找到最先進的日期語法:

https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient