0

所以我试图做一些事情,每当我点击它改变颜色的文本。

Javascript:

function changecolor(){
    var tc = document.getElementById("header").style.color.value;
    if  (tc = "#000000") { tc = "#0009FF"}
    else if (tc == "#0009FF") { tc = "#FF0000"}
    else if (tc == "#FF0000") { tc = "#15FF00"}
    else if (tc == "#15FF00") { tc = "#FFA600"}
    else {tc = "#000000"};
    document.getElementById("header").style.color.value = tc;
}

html:

<div onclick="changecolor()"><h1 id="header" style="color:#000000;"> Nick's Basic Physic's Calculator </h1></div>

它不起作用,我无法弄清楚原因。当我单击文本时,没有任何反应。

4

3 回答 3

1

你的问题出在 var tc = document.getElementById("header").style.color.value;

您必须更改为 tc = document.getElementById("header").style.color;才能将颜色变为变量。

于 2013-10-13T22:45:34.877 回答
1

改变

document.getElementById("header").style.color.value = tc;

document.getElementById("header").style.color = tc;

工作示例:

http://jsfiddle.net/xEyLf/

于 2013-10-13T22:43:34.720 回答
0

我有另一个解决方案......这是一个 jsfiddle:http: //jsfiddle.net/9zfJA/

请记住,我正在使用这些 jQuery 方法(以及 jQuery 库本身),只需在 CSS 类之间切换:

hasClass(): to check if the class is present

addClass(): to add the correct class based on the condition above

removeClass(): remove all classes, I've basically built a "reset" function

我认为它的运作方式和您想要的方式存在错误,但我已经根据您在问题中的相同逻辑构建了它。

于 2013-10-13T22:56:27.200 回答