obj.onmousedown = function(event) { //点击的不是白盒子 // 兼容IE event = event || window.event; if ((event.target ? event.target : event.srcElement).className == 'i') { if ((event.target ? event.target : event.srcElement).style.backgroundColor = "#1AAB8A") { num1 = num1 + 200; } else if ((event.target ? event.target : event.srcElement).style.backgroundColor = "#E15650") { num2 = num2 + 300; } else if ((event.target ? event.target : event.srcElement).style.backgroundColor = "#121B39") { num3 = num3 + 400; } else if ((event.target ? event.target : event.srcElement).style.backgroundColor = "#80A84E") { num4 = num4 + 500; } //点击后的盒子颜色 (event.target ? event.target : event.srcElement).style.backgroundColor = "#bbb"; //清除盒子标记 (event.target ? event.target : event.srcElement).className = ''; //计分 //显示得分 num=num1+num2+num3+num4; count.innerHTML = '当前得分: ' + num; } 为什么错了
时间: 2023-07-16 10:14:57 浏览: 94
js加入收藏夹代码(兼容ie/ff/op)
这段代码可能出错的地方有:
1. 在 if 语句中,比较颜色值时应该使用双等号 `==`,而不是赋值符号 `=`。
2. 在比较颜色值时,应该使用 RGB 值而不是颜色名称。例如,应该使用 `rgb(26, 171, 138)` 而不是 `#1AAB8A`。
3. 在计算得分时,应该将四个得分相加,而不是分别累加到 num1、num2、num3 和 num4 中。
下面是修改后的代码:
```
obj.onmousedown = function(event) {
//点击的不是白盒子
// 兼容IE
event = event || window.event;
if ((event.target ? event.target : event.srcElement).className == 'i') {
if ((event.target ? event.target : event.srcElement).style.backgroundColor == "rgb(26, 171, 138)") {
num1 = num1 + 200;
} else if ((event.target ? event.target : event.srcElement).style.backgroundColor == "rgb(225, 86, 80)") {
num2 = num2 + 300;
} else if ((event.target ? event.target : event.srcElement).style.backgroundColor == "rgb(18, 27, 57)") {
num3 = num3 + 400;
} else if ((event.target ? event.target : event.srcElement).style.backgroundColor == "rgb(128, 168, 78)") {
num4 = num4 + 500;
}
//点击后的盒子颜色
(event.target ? event.target : event.srcElement).style.backgroundColor = "#bbb";
//清除盒子标记
(event.target ? event.target : event.srcElement).className = '';
//计分
//显示得分
num = num1 + num2 + num3 + num4;
count.innerHTML = '当前得分: ' + num;
}
}
```
阅读全文