![](/img/trans.png)
[英]How to set an element to a default condition (hide ()) and when clicked (show())
[英]Want to set show/hide script visible by default
我想设置默认情况下使用localstorage的show / hide js脚本。
$(document).ready(function () {
var sidebarVisible = localStorage.getItem('sidebar') == 'true';
$('#sidebar').toggle(sidebarVisible);
$('.bgcontainer_center').toggleClass('clicked', sidebarVisible);
$("#toggle").click(function () {
$("#sidebar").toggle("slow", function () {
localStorage.setItem('sidebar', $('#sidebar').is(':visible'));
});
$(".bgcontainer_center").toggleClass('clicked');
});
});
这是链接到它https://jsfiddle.net/eo12xw79/67/
我似乎找不到默认设置。
之所以没有切换,是因为我们第一次访问该页面时,浏览器的localstorage
没有sidebar
键。
有一个非常简单的解决方案,只需检查sidebar
密钥是否在localstorage
,如果不存在,则创建它。
$(document).ready(function () {
// BEGIN
if(!localStorage.getItem('sidebar')) {
localStorage.setItem('sidebar', 'true');
}
// END
var sidebarVisible = localStorage.getItem('sidebar') == 'true';
$('#sidebar').toggle(sidebarVisible);
$('.bgcontainer_center').toggleClass('clicked', sidebarVisible);
$("#toggle").click(function () {
$("#sidebar").toggle("slow", function () {
localStorage.setItem('sidebar', $('#sidebar').is(':visible'));
});
$(".bgcontainer_center").toggleClass('clicked');
});
});
编辑:我认为这没用,为什么?
因为您将对没有真正重要性的单个变量使用localstorage
。
之后,这只是个人观点,取决于您的需求。
重复: 如何检查是否设置了存储项目?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.