我基本上是在我的网站上设置一个暗模式切换,我希望浏览器记住用户从暗到亮的主题点击。代码有些混乱且不干净,但无论如何它可以在更改深色和浅色模式样式表中起作用。
<link rel='stylesheet' id='3432-css' href='//site-url.org.in/wp-content/uploads/custom-css-js/3432.css?v=3920' type="text/css" media='all' />
<link rel='stylesheet' id='3428-css' href='//site-url.org.in/wp-content/uploads/custom-css-js/3428.css?v=2941' type="text/css" media='all' />
<div id="switch" class="toggle">
<div class="in-toggle tg-left">
<input type="checkbox">
</div>
</div>
JavaScript:
jQuery(document).ready(function($){
var toggle_btn = $(".toggle .in-toggle input");
var i_tg = $(".in-toggle");
var toggle = $(".toggle");
toggle_btn.on("click", clicked);
function clicked() {
if (toggle_btn.is(":checked")) {
i_tg.addClass("tg-right");
toggle.addClass("clicked");
} else {
i_tg.removeClass("tg-right");
toggle.removeClass('clicked');
}
}
var switch_mode = 'dark';
document.getElementById('switch').onclick = function(){
if(switch_mode == 'dark'){
document.getElementById('3428-css').setAttribute('href','');
document.getElementById('3432-css').setAttribute('href','//site-url.org.in/wp-content/uploads/custom-css-js/3432.css');
switch_mode = 'light';
} else {
document.getElementById('3428-css').setAttribute('href','//site-name.org.in/wp-content/uploads/custom-css-js/3428.css');
document.getElementById('3432-css').setAttribute('href','');
switch_mode = 'dark';
}
}
});
在切换回切换之前,如何保存用户交互的切换?这一切都适用于未登录的用户,因此本地存储或 cookie 会话可能会有所帮助。