【发布时间】:2014-09-09 22:37:54
【问题描述】:
如果再次单击,我想将鼠标单击时按钮的线圈从白色更改为红色,然后从红色变回白色。我试过这样:
<script language="JavaScript">
<!--
function changecolor(Id){
var series = "0";
var a = window.getComputedStyle(document.getElementById(Id)).backgroundColor;
var b = 2
if (a == "#FF4F4F") {
b = 1
}
if (b == 1) {
document.getElementById(Id).style.backgroundColor = "#FFFFFF";
}
if (b == 2) {
document.getElementById(Id).style.backgroundColor = "#FF4F4F";
}
}
//-->
</script>
这行不通。这将使按钮在 mozilla、chrome 中变为红色,但不会单击返回为白色。 IE 说“页面错误”。按钮 HTML 代码为:
<input type = "button" Id = "01" value="01" onClick="changecolor('01')">
我的 CSS 样式中缺少一些东西。看起来第一次读取(颜色)是一个空值,但它确实使按钮变红 - 在两个浏览器中 - 我的这个函数的构造方式。然后看起来if条件不正常,看红变白。
【问题讨论】:
-
您的按钮代码丢失了,这将有助于我们更好地了解问题所在。
-
为什么你的脚本元素中有 HTML cmets?你试过
console.log(a)吗?我敢打赌,您得到的结果与您正在测试的十六进制颜色无关。 -
这篇文章与stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb类似的一篇文章有关
-
@DavidThomas 脚本元素中的 HTML cmets 可以追溯到 IE 2.0/3.0 时代,当时 JavaScript 刚出现并显示了
script元素的内容。 20 多年以来,它们一直没有被需要,但它们出现在货物狂热的节目中。 -
脚本元素的语言属性在 15 年前的 HTML 4 中被弃用,在 HTML5 中被删除。脚本元素中的 HTML 注释分隔符已经不再需要了。
标签: javascript button colors