2014-10-10 47 views
0

我已經寫在CSS身體將有一個藍色,但在JavaScript中,我已經讓身體每秒都會改變顏色,它的工作,直到我加入全球css。我無法刪除CSS,因爲它有許多我無法解除鏈接的規則。我想要一種加載所有CSS規則的方式,但是我的身體顏色不會受到影響。身體bgcolor屬性權重

截圖,以證明該機構的bgcolor已經改變由腳本,但沒有顯示:

http://i.gyazo.com/b6a7a0f4c5153c61b38c3552cdcd65fc.gif

可有人告訴我如何可以包括外部全局CSS但後來也是我的腳本可以改變的bgcolor和css不會阻止它。

P.S:我是Noob :)!

編輯:

我的代碼:http://fiddle.jshell.net/dfywom6a/

幫助!

+0

顯示代碼或使小提琴,從圖像沒有我們可以告訴:) – 2014-10-10 10:08:11

+0

我認爲javascript部分工作正常。問題必須在css文件中。我猜這個層次結構是錯誤的。在小提琴上發佈代碼。 – schraudi 2014-10-10 10:30:42

+0

@schraudi我已更新我的帖子 – 2014-10-10 11:24:42

回答

0

你需要你的代碼,而不是document.bgColor改變這個document.body的。 style.background

工作示例這裏http://fiddle.jshell.net/dfywom6a/42/

function cc() { 
    window.setInterval("Farbe()", 500); 
} 
farbe = 1; 

function Farbe() { 
    if (farbe == 1) { 
     document.body.style.background = "indigo"; 
     farbe = 2; 
    } else if (farbe == 2) { 
     document.body.style.background = "red"; 
     farbe = 3; 
    } else if (farbe == 3) { 
     document.body.style.background = "orange"; 
     farbe = 4; 
    } else if (farbe == 4) { 
     document.body.style.background = "blue"; 
     farbe = 1; 
    } 
} 
0

嘗試在您的顏色CSS上添加!important

body { 
    background: #f00 !important; 
} 
+1

這應該在OP的** JS **中完成,而不是在CSS中,否則他的頻繁顏色變化將被覆蓋! – 2014-10-10 10:29:53

+0

您是否嘗試過這種解決方案?如果該屬性具有重要的標誌,則不能被覆蓋@MartinErnst – kenticny 2014-10-10 10:38:51

+1

OP詢問'我如何包含外部全局CSS,但同時我的腳本可以更改bgcolor'。這意味着:JS必須覆蓋CSS。 – 2014-10-10 10:41:09

3

嘗試使用document.body.style.background = color;代替document.bgColor = color; 將覆蓋應用到body元素全局CSS。

我希望這有助於http://jsfiddle.net/ceueqetn/

1

bgColor屬性已被棄用。因此,也許CSS規則會覆蓋bgColor屬性中指定的顏色。

因此,而不是在你的JavaScript改變bgColor,考慮更改CSS是這樣的:

var body = document.getElementsByTagName('body')[0]; 
body.style.setProperty('background-color', 'red'); 

Here is the updated version of your code.