Button-Hintergrundfarbe wechseln
Ich habe versucht, das Umschalten der hintergrund-Farbe Eigenschaft einer Schaltfläche onclick-aber die Farbe änderungen nur einmal und nicht hin und her wechseln. Unten ist der code.
function btnColor(btn, color) {
var property = document.getElementById(btn);
if (property.style.backgroundColor == "rgb(244,113,33)") {
property.style.backgroundColor=color;
}
else {
property.style.backgroundColor = "rgb(244,113,33)";
}
}
<input type="button" id="btnHousing" value="Housing" onclick="toggleLayer('transparent1');btnColor('btnHousing','rgb(255,242,0)');" />
Console.melden Sie
property.style.backgroundColor
kurz vor if
Sie werden sehen, was der Wert eigentlich ist.InformationsquelleAutor ayush | 2013-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Des Problems, das Sie haben ist, dass die
background-color
eines Elements gemeldet wird, anders als im Browser, entweder in rgb, rgba (mit oder ohne Leerzeichen) in hex-oder im HSL...Also der button wird wahrscheinlich nie erfüllen
if
Zustand, was bedeutet, es wird immer gehen Sie auf dieelse
.In diesem Sinne, ich würde vorschlagen, mit einem class-name zu verfolgen, die un - /ausgeschaltet Zustand:
JS Fiddle demo.
Natürlich, wenn wir über die
class
des Elements, wir könnten das auch mit CSS Stil das element:Mit CSS:
JS Fiddle demo.
Vorherigen JavaScript vereinfacht werden könnte (mit den gleichen CSS):
JS Fiddle demo.
Gerade gesehen, dass.. vielen Dank!
Überhaupt kein problem! =)
InformationsquelleAutor David Thomas
Warum, unter welcher situation, würde die
backgroundColor
des Elements schwarz sein?InformationsquelleAutor Jayram Singh