如何使用JavaScript更改按钮的颜色
How can I change the colour of a button using JavaScript?
如果再次单击,我想将鼠标单击按钮的线圈从白色更改为红色,然后从红色更改为白色。我试过这样:
<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,铬,但它不会点击回白色。IE显示"页面错误"。按钮HTML代码为:
<input type = "button" Id = "01" value="01" onClick="changecolor('01')">
我的CSS样式缺少一些东西。看起来(颜色的)第一次读取是一个null值,但它确实会使按钮变红——在两个浏览器中——就像我的这个函数的构造方式一样。然后看起来if条件工作不正常,看到红色,变成白色。
背景颜色的计算样式的格式为rgb(###, ###, ###)
(或其变体,如不同的空白或rgba
)。因此,与#xxxxxx
进行比较将不起作用。
由于您分配给style.backgroundColor
,您可以简单地读回:
var elem = document.getElementById(Id);
if( elem.style.backgroundColor == "#FF4F4F") {
elem.style.backgroundColor = "#FFFFFF";
}
else {
elem.style.backgroundColor = "#FF4F4F";
}
根据需要随意切换案例(基于第一次应该如何更改),但这会起作用,因为浏览器会保留您分配给它的任何内容。
然而,一般来说,您应该有一个更可靠的切换:
var elem = document.getElementById(Id);
if( elem._toggle) {
elem.style.backgroundColor = "#FFFFFF";
}
else {
elem.style.backgroundColor = "#FF4F4F";
}
elem._toggle = !elem._toggle;
这将可靠地切换。
相关文章:
- 使用event.target.classlist区分按钮颜色
- 如何使用带有多个按钮的javascript更改按钮颜色
- Highcharts上下文按钮颜色
- 在提交时更改按钮颜色,直到输入新文本
- 如何在javascript中更改按钮颜色
- 根据字段值更改页面加载时的按钮颜色
- 我想在单击时更改按钮颜色和文本,并且在刷新页面时它不应该更改
- 单击另一个按钮后如何更改按钮颜色
- 按钮颜色在切换时不会更改多个按钮
- 默认按钮颜色
- 当我使用jQuery Mobile的UI时,如何在jQuery Mobile中切换单击的导航按钮颜色
- 当管理员在管理面板中获得新任务时,如何更改菜单按钮颜色
- 单击时更改按钮颜色
- 无法更改Bootbox中确认框的按钮颜色
- 更改按钮颜色,即使在单击后也是如此
- 根据表中的另一列更改按钮颜色
- 使用addEventListener切换按钮颜色
- AJAX数据库更新与CSS按钮颜色改变使用Codeigniter
- 单选按钮颜色选择器
- 随着背景颜色的变化而改变按钮颜色