我会用一个CSS类:
.opacityClicked{
background:rgba(255,0,0,0.8);
}
.opacityDefault{
background:rgba(255,0,0,0.6);
}
,改变你的函数:
function highlight(id) {
var element = document.getElementById(id);
element.class = (element.class == "opacityClicked") ? "opacityDefault" : "opacityClicked";
}
或者,如果你希望只使用JavaScript的
var isClicked = false;
function highlight(id) {
isClicked = !isClicked;
var element = document.getElementById(id);
element.style.background = (isClicked == true) ? "rgba(255,0,0,0.6)" : "rgba(255,0,0,0.8)";
}
更新(见注释:如果你使用2个按钮):
var buttonClicked = null;
function highlight(id) {
if(buttonClicked != null)
{
buttonClicked.style.background = "rgba(255,0,0,0.8)";
}
buttonClicked = document.getElementById(id);
buttonClicked.style.background = "rgba(255,0,0,0.6)";
}
非常感谢,绝对完美! :) – 2013-04-24 12:42:55
还有一个问题,如果我有2个按钮,当我点击其中一个按钮时,另一个应该将它的状态恢复到正常状态,因为这个按钮会突出显示?另外,当我再次单击突出显示的按钮时,应将其状态恢复到正常状态。(因此,一次只突出显示一个按钮)。谢谢! – 2013-04-24 13:05:31
更新了答案 – 2013-04-24 13:10:58