javascript - 选中单选按钮时的颜色操作
问题描述
当检查或未选中“滑块广播”按钮时,我正在尝试动态更改文本的颜色。我的目标是让文本在滑块处于活动状态时改变颜色。这是我的代码的链接。
HTML:
<div id="replacement_terminal_dairybeef_toggle">
<div id="split_calving_toggle_container" >
<div class="toggle-text">
<div class="switch">
<input id="togggle_repl_beef" class="checkbox-toggle" data-type="date" type="checkbox"></input>
<label for="togggle_repl_beef" class="slider round"></label>
<span class="off">Fade this text when off </span>
<span class="on"> Fade this text when on </span>
</div>
</div>
</div>
</div>
CSS:
/* The switch - the box around the slider */
.switch {
}
/* Hide default HTML checkbox */
.switch input {
opacity: 0;
width: 0;
height: 0;
}
/* Rounded sliders */
.slider {
position: relative;
display: block;
cursor: pointer;
height: 20px;
width: 40px;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
display: block;
content: "";
height: 10px;
width: 10px;
left: 4px;
bottom: 4.5px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #235b96;
}
input:focus + .slider {
box-shadow: 0 0 1px rgba(0, 0, 0, 0.123);
}
input:checked + .slider:before {
-webkit-transform: translateX(22px);
-ms-transform: translateX(22px);
transform: translateX(22px);
}
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
.toggle-text {
text-transform: uppercase;
font-weight: 700;
overflow: hidden;
line-height: 2;
color: #235b96;
letter-spacing: 1.2px;
font-size: 11px;
}
.switch {
display: flex;
flex-direction: row;
}
.off {
order: 1;
}
.slider {
margin: 0 5px;
order: 2;
}
.on {
order: 3;
}
input:checked ~ .on {
color: red;
}
input:not(:checked) ~ .off {
color: red;
}
解决方案
/* The switch - the box around the slider */
.switch {
}
/* Hide default HTML checkbox */
.switch input {
opacity: 0;
width: 0;
height: 0;
}
/* Rounded sliders */
.slider {
position: relative;
display: block;
cursor: pointer;
height: 20px;
width: 40px;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
display: block;
content: "";
height: 10px;
width: 10px;
left: 4px;
bottom: 4.5px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #235b96;
}
input:focus + .slider {
box-shadow: 0 0 1px rgba(0, 0, 0, 0.123);
}
input:checked + .slider:before {
-webkit-transform: translateX(22px);
-ms-transform: translateX(22px);
transform: translateX(22px);
}
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
.toggle-text {
text-transform: uppercase;
font-weight: 700;
overflow: hidden;
line-height: 2;
color: #235b96;
letter-spacing: 1.2px;
font-size: 11px;
}
.switch {
display: flex;
flex-direction: row;
}
.off {
order: 1;
}
.slider {
margin: 0 5px;
order: 2;
}
.on {
order: 3;
}
input:checked ~ .on {
color: red;
}
input:not(:checked) ~ .off {
color: red;
}
<div id="replacement_terminal_dairybeef_toggle">
<div id="split_calving_toggle_container" >
<div class="toggle-text">
<div class="switch">
<input id="togggle_repl_beef" class="checkbox-toggle" data-type="date" type="checkbox"></input>
<label for="togggle_repl_beef" class="slider round"></label>
<span class="off">Fade this text when off </span>
<span class="on"> Fade this text when on </span>
</div>
</div>
</div>
</div>
推荐阅读
- eclipse - Mac系统tomcat服务器如何设置log4j日志文件
- node.js - 带有 socket.io 命名空间问题的 NodeJS 集群
- javascript - Big Sur 更新后找不到 tools.jar
- kubernetes - 如何使用 Kubernetes 作为代理使 http://ip:port 可以通过 https://domain/suffix 访问?
- html - 如何使用 JQuery 每 x 秒重新加载图像?
- sql - 仅对字符串列中的数字字符求和
- python - sqlalchemy 单亲过于严格
- r - 将值添加到多行 id 最多指定数量
- java - 在一个类中同时使用 Parcelable 类和 Serializable
- sql-server - 奇怪的 FULL OUTER JOIN “ON” 子句?