$event.srcElement.style 更改背景图
时间: 2024-06-03 15:10:24 浏览: 5
的时候为什么有时候会失效?
这可能会因为以下原因导致:
1.语法错误。确保你的语法正确,包括用正确的引号和括号等。
2.脚本位置不正确。确保你的脚本文件或代码位于 HTML `<head>` 或 `<body>` 标签之前。
3.脚本加载顺序不正确。确保你的脚本加载顺序正确,也就是确保你的 JavaScript 文件在 CSS 文件之前加载。
4.代码被其他代码阻止。确保没有其他 JavaScript 代码或库阻止了这个代码块的执行。
5.元素属性被其他代码修改。确保没有其他代码改变了你要修改的元素的属性。
如果你已经排除了以上原因,还是不能解决问题,可以试着使用类似于 jQuery 等 JavaScript 库,这些库通常有更好的浏览器兼容性和更简单的语法。
相关问题
$event.srcElement.style 更改背景色
这不是一个问题,而是一个代码片段。如果你想修改元素的背景色,可以通过以下代码实现:
```javascript
event.srcElement.style.backgroundColor = "red";
```
注意,这只是修改 DOM 元素样式的一种方式,具体实现方式还需要根据具体的项目需求来做出调整。
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; } 为什么错了
这段代码可能出错的地方有:
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;
}
}
```