您好,感谢您访问这篇文章 我有一个JavaScript代码,可通过onclick在输入按钮中激活暗模式 我试图保持夜间模式(即使离开页面后仍启用) 但是问题在于cookie无法正常运行
请帮助我解决这个问题
这是darckmode的html,css,js(效果很好):
function darkmode() {
var body = document.body;
body.classList.toggle("body-dark-mode");
}
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
margin-left: 80%;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
border-radius: 5px;
}
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
border-radius: 5px;
}
input:checked + .slider {
background-color: #3572A5;
}
input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
/* Rounded sliders */
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
<label class="switch">
<input onclick="darkmode()" type="checkbox" ><!--checked-->
<span class="slider"></span>
</label>
这是我遇到问题的javascript Cookie:
cookie的名称mm
如果darckmode已激活mm=="ok"
如果不是mm==""
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
var mm=getCookie("darkmode");
if (mm == "ok") {
darkmode();
} else {
mm = "ok";
if (user != "" && user != null) {
setCookie("darkmode", mm, 30);
}
}
}
window.onload = checkCookie();
我试图通过window.onload = checkCookie();
如果您能帮助我在黑色模式下将按钮激活checked
非常感谢