按钮背景颜色切换

ayu*_*ush 3 html javascript button background-color

我一直在尝试切换按钮 onclick 的背景颜色属性,但颜色只更改一次并且不会来回切换。下面是代码。

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)');" />
Run Code Online (Sandbox Code Playgroud)

小智 5

一个简单的解决方案(按 JS、CSS 和 HTML 的顺序)。您在 CSS 中设置一个类,然后选择按钮(是的,JS 可以在一行中完成)并切换类。

var button1 = document.querySelector("button");


button1.addEventListener("click", function() {

    document.body.classList.toggle("colorred");

});
Run Code Online (Sandbox Code Playgroud)
.colorred {
    background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Change color to background</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />


</head>

<body>
    <button>Click me!</button>
    <script src="main.js"></script>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)