2015-04-04 157 views
0

我做了一個導航按鈕點擊打開。當你點擊按鈕時,導航欄的div類會改變。我想在導航打開時(並且最終)調暗身體的背景顏色。 我可以想到一些方法來做到這一點,但我不確定哪個最簡單或者如果可能。div class更改時更改背景顏色?

方法1: 當單擊按鈕時以某種方式更改身體的class/div。如果你能爲身體設置一堂課,這並不難。方法2: 使用js單獨更改元素。這可能會比較簡單,但代碼可能比需要的要多。

方法3: 我試過使用.closed > body,,但是這種方法只能用於改變水平向下的東西(在父級中)。所以,考慮到這一點,我嘗試使用.closed < body,但它仍然沒有工作。我也見過〜使用,所以我嘗試過,但仍然沒有結果。

任何人都可以給任何建議將不勝感激。謝謝。

+1

向body中添加一個類就像'document.body.className ='foo''一樣簡單。如果你需要添加和刪除類,有很多簡單的函數的例子來做到這一點。 – RobG 2015-04-04 05:11:15

回答

0

這應該工作,因爲它是第一個導航元素。

var nav = document.getElementsByTagName('nav'); 
nav[0].addEventListener('click', function(e){ 
    var body = document.getElementsByTagName('body'); 
    body[0].style.backgroundColor = "some color value"; 
}); 
+0

'document.querySelector('nav')'和[* document.body *](http://www.w3.org/html/wg/drafts/html/master/dom.html#dom-document-body)打字少。 ;-) – RobG 2015-04-04 05:07:45

+0

真的!傳統的JavaScript和類似的約定是我在這裏要做的。 – 2015-04-04 05:19:05