我想在用户单击时切换按钮的颜色。现在,当用户点击按钮时会瞬间改变颜色,但会立即以毫秒为单位变回第一种颜色。我正在使用.jsp文件与服务器通信,这些按钮将信息发送到服务器,当服务器进行通信时,它会刷新页面。这是否在页面刷新时重新设置按钮的样式?我正在使用类'按钮'来定义样式。如何更改(并保持)点击按钮的颜色
我的问题是:我该如何无限期地改变按钮的颜色?
<form action="FirstServlet" method="get">
<div id="TVs">
<%for (int i=1; i<=numTargets; i++) {
<button id="TV<%=i%>" name= "TV<%=i%>" class="button" onClick= "TVbuttonPressed('TV<%=i%>')">
...
function TVbuttonPressed(id){
document.getElementById(id).style.backgroundColor = 0xFFFF00;
}
最终我计划具有的功能是:
function TVbuttonPressed(id){
if (document.getElementById(id).style.backgroundColor == A)
document.getElementById(id).style.backgroundColor = B
else (document.getElementById(id).style.backgroundColor == B)
document.getElementById(id).style.backgroundColor = A
}
有人能帮忙解释一下?谢谢。
你为什么不只是添加上点击一类。让班级申报新的风格。 – Leeish
'style.backgroundColor'会在不同的浏览器中返回不同的东西,而且在大多数现代浏览器中它会返回类似'rgba(23,143,255,1)'的东西,所以与十六进制颜色比较几乎总是会失败。 – adeneo
你可以缓存颜色。然后相应地设置它。我也有一个疯狂的猜测,比如把href放在按钮宽度上,它的宽度等于按钮宽度,然后你将得到:visited {{background} color:red;} – argentum47