Javascript 函数总是返回true
当我重新加载页面时,总是会返回true,即使它以前是false,那又有什么错呢。我怀疑您正在将状态设置为true,然后使用将其持久化到localStorageJavascript 函数总是返回true,javascript,Javascript,当我重新加载页面时,总是会返回true,即使它以前是false,那又有什么错呢。我怀疑您正在将状态设置为true,然后使用将其持久化到localStorage $(document).ready(function() { var state = localStorage.hasOwnProperty('sidebarState') ? localStorage.getItem('sidebarState') : false; function setState() { if(stat
$(document).ready(function() {
var state = localStorage.hasOwnProperty('sidebarState') ? localStorage.getItem('sidebarState') : false;
function setState() {
if(state) {
$('#sidebar').css('transform', 'translate(0,0)');
state = false;
}
else {
$('#sidebar').css('transform', 'translate(-100%,0)');
state = true;
}
localStorage.setItem('sidebarState',state);
}
$('#sidebar_button').click(setState);
setState();
});
刷新页面时,状态从localStorage读入并计算为true。
localStorage。setItem
包含两个字符串。因此,布尔值false将被强制转换为字符串“false”,该字符串的计算结果将为true
一个解决办法是
localStorage.setItem('sidebarState',state);
因为空字符串的计算结果将为false
来源:这里的函数根本不返回任何内容。也许您想问为什么
state
变量的值不是您期望的值?刷新时state=true
localStorage.setItem('sidebarState', state ? state : "");