使用 jquery 设置 cookie,页面加载时来自 cookie 的 bodyclass
set cookie using jquery, bodyclass from cookie on page load
我有一个按钮可以将 body class 设置为 .blackout
我正在使用 js-cookie
设置cookie,下面的代码与我的按钮相关联。
<script>
$('#boToggle').on('click', function(e) {
$('body').toggleClass('blackout');
});
</script>
我想不通的是如何使用上面 link 中的 Cookies.set('name', 'value');
来设置带有 .toggleClass 的 cookie 以及如何从 cookie 中检索它并将其应用于 body class.
提前致谢!
您似乎想在会话之间保持切换 class 的状态,这可以通过 Cookie 完成,但可能更适合 localStorage。
为了完整起见,我将演示这两种方法
有 Cookies
要更好地理解 Cookie 和本地存储之间的区别,请参阅此 question,但老实说,我认为您可以采用任何一种方法。在这种情况下,本地存储优于 cookie 的一个优势是您不需要额外的库。
let state = Cookies.get('toggle');
$(body).toggleClass('.blackout', state)
使用本地存储
let state = localStorage.getItem('toggle');
$(body).toggleClass('.blackout', state)
使用您更新的代码段
var toggleLocalStorage = localStorage.getItem('toggle');
var toggleStatus = toggleLocalStorage ? toggleLocalStorage : false;
$('#boToggle').on('click', function(e) {
$('body').toggleClass('blackout', toggleStatus);
localStorage.setItem('toggle' toggleStatus);
});
我有一个按钮可以将 body class 设置为 .blackout
我正在使用 js-cookie 设置cookie,下面的代码与我的按钮相关联。
<script>
$('#boToggle').on('click', function(e) {
$('body').toggleClass('blackout');
});
</script>
我想不通的是如何使用上面 link 中的 Cookies.set('name', 'value');
来设置带有 .toggleClass 的 cookie 以及如何从 cookie 中检索它并将其应用于 body class.
提前致谢!
您似乎想在会话之间保持切换 class 的状态,这可以通过 Cookie 完成,但可能更适合 localStorage。
为了完整起见,我将演示这两种方法
有 Cookies
要更好地理解 Cookie 和本地存储之间的区别,请参阅此 question,但老实说,我认为您可以采用任何一种方法。在这种情况下,本地存储优于 cookie 的一个优势是您不需要额外的库。
let state = Cookies.get('toggle');
$(body).toggleClass('.blackout', state)
使用本地存储
let state = localStorage.getItem('toggle');
$(body).toggleClass('.blackout', state)
使用您更新的代码段
var toggleLocalStorage = localStorage.getItem('toggle');
var toggleStatus = toggleLocalStorage ? toggleLocalStorage : false;
$('#boToggle').on('click', function(e) {
$('body').toggleClass('blackout', toggleStatus);
localStorage.setItem('toggle' toggleStatus);
});