我希望当我运行下面的一个函数时,元素id="colorDisp"
会改变颜色,而body
元素会改变颜色。
以下代码:
function red()
{
document.body.style.backgroundColor = "red";
}
function blue()
{
document.body.style.backgroundColor = "blue";
}
function yellow()
{
document.body.style.backgroundColor = "yellow";
}
function green()
{
document.body.style.backgroundColor = "green";
}
function orange()
{
document.body.style.backgroundColor = "orange";
}
function violet()
{
document.body.style.backgroundColor = "violet";
}
function grey()
{
document.body.style.backgroundColor = "grey";
}
function black()
{
document.body.style.backgroundColor = "black";
}
function cream()
{
document.body.style.backgroundColor = "#ffe6e6";
}
function fushia()
{
document.body.style.backgroundColor = "#ff00bf";
}
function white()
{
document.body.style.backgroundColor = "white";
}
<center>
<table style="padding-top: 200px;font-size:45">
<tr>
<td style="background-color:#ff0040"><a href = "#" onclick = "red()">red</a></td>
<td style="background-color:#00bfff"><a href = "#" onclick = "blue()">blue</a></td>
<td rowspan="5"width="300px" id="colorDisp" style="background-color:black"></td>
</tr>
<tr>
<td style="background-color:#ffff00"><a href = "#" onclick = "yellow()">yellow</a></td>
<td style="background-color:#80ff00"><a href = "#" onclick = "green()">green</a></td>
</tr>
<tr>
<td style="background-color:#ffbf00"><a href = "#" onclick = "orange()">orange</a></td>
<td style="background-color:#8000ff"><a href = "#" onclick = "violet()">violet</a></td>
</tr>
<tr>
<td style="background-color:#808080"><a href = "#" onclick = "grey()">grey</a></td>
<td style="background-color:#000000"><a href = "#" onclick = "black()">black</a></td>
</tr>
<tr>
<td style="background-color:#ffe6e6"><a href = "#" onclick = "cream()">cream</a></td>
<td style="background-color:#ff00bf"><a href = "#" onclick = "fushia()">fushia</a></td>
</tr>
</table>
</center>
Example output for the code above:
[1]http://i.imgur.com/lhqdFoi.jpg
This is sample output for my question
[2]http://i.imgur.com/cZw4iT3.jpg
答案 0 :(得分:1)
您需要选择ID为colorDisp
而不是document.body
的td元素。您还可以将颜色传递给单个JavaScript函数,该函数将其应用于元素。
function colorize(color)
{
document.getElementById("colorDisp").style.background = color;
}
&#13;
<body>
<center>
<table style="/*padding-top: 200px;*/font-size:45">
<tr>
<td style="background-color:#ff0040"><a href = "#" onclick = "colorize('red')">red</a></td>
<td style="background-color:#00bfff"><a href = "#" onclick = "colorize('blue')">blue</a></td>
<td rowspan="5" width="300px" id="colorDisp" style="background-color:black"></td>
</tr>
<tr>
<td style="background-color:#ffff00"><a href = "#" onclick = "colorize('yellow')">yellow</a></td>
<td style="background-color:#80ff00"><a href = "#" onclick = "colorize('green')">green</a></td>
</tr>
<tr>
<td style="background-color:#ffbf00"><a href = "#" onclick = "colorize('orange')">orange</a></td>
<td style="background-color:#8000ff"><a href = "#" onclick = "colorize('violet')">violet</a></td>
</tr>
<tr>
<td style="background-color:#808080"><a href = "#" onclick = "colorize('grey')">grey</a></td>
<td style="background-color:#000000"><a href = "#" onclick = "colorize('black')">black</a></td>
</tr>
<tr>
<td style="background-color:#ffe6e6"><a href = "#" onclick = "colorize('#ffe6e6')">cream</a></td>
<td style="background-color:#ff00bf"><a href = "#" onclick = "colorize('#ff00bf')">fushia</a></td>
</tr>
</table>
</center>
</body>
&#13;
答案 1 :(得分:0)
您应该将body
替换为要显示颜色的标记,并在代码中替换getElementById('colorDisp')
。这是解决方案:
function red()
{
document.getElementById('colorDisp').style.backgroundColor = "red";
}
function blue()
{
document.getElementById('colorDisp').style.backgroundColor = "blue";
}
function yellow()
{
document.getElementById('colorDisp').style.backgroundColor = "yellow";
}
function green()
{
document.getElementById('colorDisp').style.backgroundColor = "green";
}
function orange()
{
document.getElementById('colorDisp').style.backgroundColor = "orange";
}
function violet()
{
document.getElementById('colorDisp').style.backgroundColor = "violet";
}
function grey()
{
document.getElementById('colorDisp').style.backgroundColor = "grey";
}
function black()
{
document.getElementById('colorDisp').style.backgroundColor = "black";
}
function cream()
{
document.getElementById('colorDisp').style.backgroundColor = "#ffe6e6";
}
function fushia()
{
document.getElementById('colorDisp').style.backgroundColor = "#ff00bf";
}
function white()
{
document.getElementById('colorDisp').style.backgroundColor = "white";
}
&#13;
<body>
<center>
<table style="padding-top: 200px;font-size:45">
<tr>
<td style="background-color:#ff0040"><a href = "#" onclick = "red()">red</a></td>
<td style="background-color:#00bfff"><a href = "#" onclick = "blue()">blue</a></td>
<td rowspan="5"width="300px" id="colorDisp" style="background-color:black"></td>
</tr>
<tr>
<td style="background-color:#ffff00"><a href = "#" onclick = "yellow()">yellow</a></td>
<td style="background-color:#80ff00"><a href = "#" onclick = "green()">green</a></td>
</tr>
<tr>
<td style="background-color:#ffbf00"><a href = "#" onclick = "orange()">orange</a></td>
<td style="background-color:#8000ff"><a href = "#" onclick = "violet()">violet</a></td>
</tr>
<tr>
<td style="background-color:#808080"><a href = "#" onclick = "grey()">grey</a></td>
<td style="background-color:#000000"><a href = "#" onclick = "black()">black</a></td>
</tr>
<tr>
<td style="background-color:#ffe6e6"><a href = "#" onclick = "cream()">cream</a></td>
<td style="background-color:#ff00bf"><a href = "#" onclick = "fushia()">fushia</a></td>
</tr>
</table>
</center>
</body>
&#13;
答案 2 :(得分:0)
您不需要多个功能。请尝试以下方法:
function changeColor(color)
{
document.getElementById('colorDisp').style.backgroundColor = color;
}
&#13;
<center>
<table style="padding-top: 10px;font-size:45">
<tr>
<td style="background-color:#ff0040"><a href = "#" onclick = "changeColor('red')">red</a></td>
<td style="background-color:#00bfff"><a href = "#" onclick = "changeColor('blue')">blue</a></td>
<td rowspan="5"width="300px" id="colorDisp" style="background-color:black"></td>
</tr>
<tr>
<td style="background-color:#ffff00"><a href = "#" onclick = "changeColor('yellow')">yellow</a></td>
<td style="background-color:#80ff00"><a href = "#" onclick = "changeColor('green')">green</a></td>
</tr>
<tr>
<td style="background-color:#ffbf00"><a href = "#" onclick = "changeColor('orange')">orange</a></td>
<td style="background-color:#8000ff"><a href = "#" onclick = "changeColor('violet')">violet</a></td>
</tr>
<tr>
<td style="background-color:#808080"><a href = "#" onclick = "changeColor('grey')">grey</a></td>
<td style="background-color:#000000"><a href = "#" onclick = "changeColor('black')">black</a></td>
</tr>
<tr>
<td style="background-color:#ffe6e6"><a href = "#" onclick = "changeColor('#ffe6e6')">cream</a></td>
<td style="background-color:#ff00bf"><a href = "#" onclick = "changeColor('#ffe6e6')">fushia</a></td>
</tr>
</table>
</center>
&#13;
答案 3 :(得分:0)
你应该有这样的东西。代码更好(这是示例http://plnkr.co/edit/FSwM1fDyzB7YgT4Or4B2?p=preview)
function updateColor(event)
{
var color = event.parentElement.style.backgroundColor;
document.getElementById('colorDisp').style.backgroundColor = color;
}
HTML:
<table style="padding-top: 200px;font-size:45">
<tr>
<td style="background-color:#ff0040"><a href = "#" onclick = "updateColor(this)">red</a></td>
<td style="background-color:#00bfff"><a href = "#" onclick = "updateColor(this)">blue</a></td>
<td rowspan="5"width="300px" id="colorDisp" style="background-color:black"></td>
</tr>
<tr>
<td style="background-color:#ffff00"><a href = "#" onclick = "updateColor(this)">yellow</a></td>
<td style="background-color:#80ff00"><a href = "#" onclick = "updateColor(this)">green</a></td>
</tr>
<tr>
<td style="background-color:#ffbf00"><a href = "#" onclick = "updateColor(this)">orange</a></td>
<td style="background-color:#8000ff"><a href = "#" onclick = "updateColor(this)">violet</a></td>
</tr>
<tr>
<td style="background-color:#808080"><a href = "#" onclick = "updateColor(this)">grey</a></td>
<td style="background-color:#000000"><a href = "#" onclick = "updateColor(this)">black</a></td>
</tr>
<tr>
<td style="background-color:#ffe6e6"><a href = "#" onclick = "updateColor(this)">cream</a></td>
<td style="background-color:#ff00bf"><a href = "#" onclick = "updateColor(this)">fushia</a></td>
</tr>
</table>