У меня есть div
(действующий в качестве кнопки), которая имеет определенный CSS, который активирует при наведении на:Сохранить CSS: парить при смене стилей CSS с Javascript
#btn{
width: 80%;
height: 125px;
border: 1px solid #9676E8;
border-radius: 10px;
transition: background-color 0.25s ease;
background-color: #B299F2;
color: white;
}
#btn:hover{
background-color: #9676E8;
}
Примечание: #9676E8
более темный оттенок #B299F2
, оба синий.
Эта кнопка имеет функцию переключения, где желаемый эффект заключается в том, что щелчок по ней переключит фон, чтобы он стал красным, а не синим. Соответствующий JavaScript здесь:
var btn = document.getElementById("btn");
btn.addEventListener("click",function(){
if(!toggle){
toggle = true;
btn.style.border = "1px solid #FF0000";
btn.style.backgroundColor = "#AA3030";
} else {
toggle = false;
btn.style.border = "1px solid #9676E8";
btn.style.backgroundColor = "#B299F2";
}
});
Примечание: #AA3030
и #FF0000
оттенки красного.
Проблема заключается в том, что после первого нажатия кнопки кнопка становится красной (по желанию). Тем не менее, при нажатии на нее, чтобы она менялась до синего цвета, после этого эффекта наведения больше нет. Наведение на него не делает ничего, кроме щелчка по-прежнему работает.
Мне не нужна кнопка для зависания, пока она красная, но я хочу сохранить эффект наведения, пока она синяя. Есть ли способ сделать это?
Настройка демо на jsfiddle или codepen и мы с удовольствием поможем вам решить ваши проблемы –
я предлагаю использовать класс, поставить цветы в классе затем добавлять и удалять класс в JS тумблера. – IROEGBU
хорошо, работая над ним – DaemonOfTheWest