Это не проблема переключения.
Прежде всего, toggleStatus не является свойством.
И, во-вторых, каждый раз, когда функция запускается, theToggle.toggleStatus = "on";
всегда устанавливает свойство втак вот почему коммутатор работает только для 'on'
, вы можете сделать что-то вроде этого:
var toggleStatus = "on";
function changeColor() {
let theToggle = document.getElementById("change-color");
switch (toggleStatus) {
case "on":
toggleStatus = "off";
theToggle.style.color = "purple";
theToggle.style.backgroundColor = "yellow";
break;
case "off":
toggleStatus = "on";
theToggle.style.color = "yellow";
theToggle.style.backgroundColor = "purple";
break;
}
}
#change-color {
width: 100px;
height: 100px;
color: yellow;
background-color: purple
}
<div class="column">
<button id="change-color" onclick="changeColor()">Change Color</button>
</div>
Один простой способ сделать все это - просто переключить класс
пример:
function changeColor() {
let theToggle = document.getElementById("change-color");
theToggle.classList.toggle('active')
}
#change-color {
width: 100px;
height: 100px;
color: yellow;
background-color: purple
}
#change-color.active {
color: purple;
background-color: yellow;
}
<div class="column">
<button id="change-color" onclick="changeColor()">Change Color</button>
</div>