使用JavaScript更改相邻单元格的颜色
我有一个3*3单元格的简单表格。每个单元格都有自己的颜色,第一个单元格有Id=“A1”,第二个单元格有Id=“A2”。它们都将事件onclick设置为“DoSome(this)” 为什么我的代码不更改为左上角单元格的颜色? 如果我先点击A1单元格,然后点击A2单元格,它们都会变成红色。我希望他们改变颜色,就好像他们在改变位置一样 我的javascript:使用JavaScript更改相邻单元格的颜色,javascript,html,Javascript,Html,我有一个3*3单元格的简单表格。每个单元格都有自己的颜色,第一个单元格有Id=“A1”,第二个单元格有Id=“A2”。它们都将事件onclick设置为“DoSome(this)” 为什么我的代码不更改为左上角单元格的颜色? 如果我先点击A1单元格,然后点击A2单元格,它们都会变成红色。我希望他们改变颜色,就好像他们在改变位置一样 我的javascript: var counter = 0; var first; var second; function DoSome(obj) { coun
var counter = 0;
var first;
var second;
function DoSome(obj) {
counter++;
if (counter % 2 == 0) {
second = obj;
var temp = second.style;
second.style.backgroundColor = first.style.backgroundColor;
first.style = temp;
} else {
first = obj;
}
}
我想这可能是你想要的那种东西,尽管正如其他人所说,没有完整的图片有点困难。这会初始化第一个单元格为红色,其他单元格为蓝色,然后在单击时交换颜色,我假设您没有使用jQuery
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<table style="width:100px; height:100px;">
<tr>
<td id="A1" onclick="javascript: DoSome(this);" style="background-color: red;"></td>
<td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
<td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
</tr>
<tr>
<td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
<td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
<td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
</tr>
<tr>
<td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
<td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
<td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
</tr>
</table>
</body>
</html>
<script type="text/javascript">
var prev = document.getElementById('A1');
function DoSome(obj) {
if (prev != obj) {
var objCol = obj.style.backgroundColor;
obj.style.backgroundColor = prev.style.backgroundColor;
prev.style.backgroundColor = objCol;
}
prev = obj;
}
</script>
var prev=document.getElementById('A1');
函数DoSome(obj){
如果(上一个!=obj){
var objCol=obj.style.backgroundColor;
obj.style.backgroundColor=prev.style.backgroundColor;
prev.style.backgroundColor=objCol;
}
prev=obj;
}
请您也显示HTML好吗。问题不清楚。您还没有完全描述您想要什么。。。给出你所有的代码,或者把你的代码弄乱code@anni仅使用code
标记发布codehi!也许我有你的问题。。。只需从javascript中删除计数器
。。。我完全可以肯定,如果你给你的所有代码