淘先锋技术网

首页 1 2 3 4 5 6 7

我试图创建一个按钮,当它被点击时,改变背景颜色(绿色)。但是当它再次被点击时,按钮返回到原来的背景颜色(从橙色)。

var btn1 = document.getElementById("btn-1")

if (btn1.style.backgroundColor = "orange") {
        btn1.addEventListener("click", function () {
        btn1.style.backgroundColor = "green"
    })
} else {btn1.addEventListener("click", function () {
    btn1.style.backgroundColor = "orange"
})
    }

能帮帮忙吗?Thx!

我试图创建一个按钮,当它被点击时,改变背景颜色(绿色)。但是当它再次被点击时,按钮返回到原来的背景颜色(从橙色)。

有很多方法可以做到这一点。我的首选方法是简单地在元素上切换一个类。

在CSS中,通过#btn-1设置默认颜色,然后通过#btn-1.active设置一个活动颜色。然后通过切换active类,当元素有active类时,将颜色更改为绿色,否则更改为橙色。

var toggleBTN = document.getElementById("btn-1")

toggleBTN.addEventListener("click",() => {
  toggleBTN.classList.toggle("active");
});

#btn-1{
  background:orange;
}

#btn-1.active{
  background:green;
}

<button id="btn-1">Toggle Color</button>

只需切换单击事件的颜色:

document
  .getElementById("btn-1")
  .addEventListener(
    'click', 
    ({target:{style}}) => style.backgroundColor = style.backgroundColor === 'orange' ? 'green' : 'orange'
  );

<button id="btn-1" style="background-color: orange">Click me</button>

let button = document.getElementById("button");
    button.style.backgroundColor = "orange";

button.addEventListener("click", function () {
        if(button.style.backgroundColor == "orange"){
           button.style.backgroundColor = "green";
        } else button.style.backgroundColor = "orange";
})

<button id="button">test</button>