私はオンラインで見つかったものに基づいてスイッチを作ったので、途中で問題が発生しました。スイッチを「オン」状態にすると、それを変更する必要がある変数が正しく変更され、スイッチは正しいモードであることも表示します。しかし、私が別のページに戻ったり、戻ったりすると、そのスイッチは、それを変更しなければならない変数が実際に記憶されているにもかかわらず、スイッチをオンにしていないように見えます。ページを切り替えるときにスイッチ表示を戻す
私はページが変数の値を「上」、それが上であるかのように、常にスイッチを表示し、常に表示されますしている場合ことを見ているように、私はHTML、CSSおよびJavaScriptを使用してそれを作ることができますどのように思っていましたそうでない場合には「オフ」状態になる。
Javascriptを::
document.addEventListener('DOMContentLoaded', function() {
var checkbox = document.querySelector('input[type="checkbox"]');
checkbox.addEventListener('change', function() {
if (checkbox.checked) {
ProgramState = "off";
put("weekProgramState", "week_program_state", ProgramState);
console.log(ProgramState);
} else {
ProgramState = "on";
put("weekProgramState", "week_program_state", ProgramState);
console.log(ProgramState);
}
});
});
CSS:
/* The switch - the box around the slider */
.switch {
position: relative;
display: inline-block;
width: 50px;
height: 27px;
}
/* Hide default HTML checkbox */
.switch input {display:none;}
/* The slider */
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 20px;
width: 20px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #2196F3;
}
input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked + .slider:before {
-webkit-transform: translateX(20px);
-ms-transform: translateX(20px);
transform: translateX(20px);
}
/* Rounded sliders */
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
HTML:
<h3> Program Override
<label class="switch">
<input type="checkbox">
<div class="slider round"></div>
</label> </h3>
クッキーを読む... –
また、「put」とは何ですか? –
putは、私がこれを行う代入から得た関数です。これは、データをサーバーに置きます。私が思うような質問は重要ではないので、私はそれが意味するものは含めなかった。また、「クッキーを読む...」とはどういう意味ですか? – JoJoDeath