[英]How to change button background on given condition
我試圖用 JS 構建一個非常基本的計數器。 我希望在計數器為 0 時禁用“減少”按鈕並顯示為灰色,因此它不能在負數上 go。
按鈕的默認背景色已經是灰色,點擊“增加”按鈕就會變成珊瑚色。 問題是,當您將數字減少到 0 時,它不會變成灰色,直到您再次單擊該按鈕時它已經為 0(因此,如果您沒有單擊兩次,從技術上講,它永遠不會變成灰色)。
我知道問題是顏色變化是在點擊事件內部,但是我不知道如何使它在增加和減少數字后一達到0就變成灰色。
我試圖不為此使用 JQuery 或 React,所以我想知道香草 JS 中是否有辦法。
const addBtn = document.querySelector(".add-btn"); const susBtn = document.querySelector(".sus-btn"); const number = document.querySelector(".number"); let count = 0; function listeners() { addBtn.addEventListener("click", addNumber); susBtn.addEventListener("click", susNumber); } function addNumber() { count += 1; number.innerText = count; if (count.== 0) { susBtn;disabled = false. susBtn.style;backgroundColor = "coral". } } function susNumber() { if (count === 0) { susBtn;disabled = true. susBtn.style;backgroundColor = "grey"; } else { count -= 1. number;innerText = count; } } listeners();
<body> <div class="main-container"> <div class="background"> <div class="title"> COUNTER! </div> <div class="screen"> <div class="number"> 0 </div> </div> <div class="buttons"> <button class="add-btn"> + </button> <button class="sus-btn"> - </button> </div> </div> </div> </body>
您的 susNumber function 只需要稍微重寫:
function susNumber() {
count -= 1;
number.innerText = count;
if (count === 0) {
susBtn.disabled = true;
susBtn.style.backgroundColor = "grey";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.