2016-05-19 122 views
0

JS的新手。有一件事我似乎無法控制我的腦海,就是寫出正確的代碼來改變事件的來回。事件和國家

例如,在點擊上來回改變顏色,從紅色變爲黑色。

var titles = document.getElementById("titles"); 

function changeColor() 

{ 
    if(titles.style.color="black") 
    titles.style.color="red"; 
    else 
    titles.style.color="black"; 
}; 

titles.addEventListener("click", changeColor); 

我知道這個概念是一個簡單的,但是當涉及到更復雜的事情就像onclicks打開菜單與其他更復雜的事情,不理解這個,我將有問題。

我的問題是我不明白如何控制下半部分的代碼。我可以將顏色更改爲紅色,但是如何將其更改回來。

+0

似乎你的'下半部分'已經在你的示例代碼中(儘管有一些錯字)。更復雜的東西,原則保持不變。你的問題到底是什麼? – wintvelt

+0

'titles.style.color =「black」'總是返回true。我想你的意思是'titles.style.color ==「黑色」或''titles.style.color ===「黑色」'' –

+0

代碼工程..你使用一個等號來比較 – lonewarrior556

回答

2
if(titles.style.color="black") 

=分配。要比較兩個值,請使用===(或者==,如果您不想檢查類型)。

+0

但是修正後的那個操作符的代碼仍然不起作用,所以我錯過了什麼? https://jsfiddle.net/theodore_steiner/pnpu1p2s/1/ –

+0

@TheodoreSteiner - 在鏈接後面有一個';',它不在問題中。瀏覽器的開發人員工具的控制檯中的錯誤消息應該尖叫起來。 – Quentin