使用本地存储来记住CSS显示值
using local storage to remember css display value
我有一个在html/javascript内建的清单,你可以通过单击箭头显示/隐藏清单的每个部分,但我想使用本地存储来记住是否每个项目被显示或隐藏上次使用的应用程序,然后加载页面,因为它是最后一次使用,所以,如果所有的清单项目显示上次用户使用的应用程序,那么我希望所有的清单项目显示下次他们使用的应用程序,但我不知道如何得到javascript/localstorage记住css显示值。也许这不是解决这个问题的最好方法。如有任何意见或建议,我将不胜感激。
要使用本地存储,需要记住字符串是存储的。可以使用字符串化的JSON对象来存储数据。
使用复选框id作为属性,并将其显示样式作为值:
首先通过id获取复选框(可以在循环中完成):
var checkbox =document.getElementById('someCheckbox');
然后你需要得到你当前的存储字符串:
var myStorageData = localStorage.getItem('mydata');
并检查它是否存在,如果存在,将其解析为对象,否则创建一个新对象:
if(myStorageData) {
myStorageData = JSON.parse(myStorageData);
}
else {
myStorageData = {};
}
最后,根据复选框的id设置对象的属性,并使用新值设置存储:
myStorageData[checkbox.id] = checkbox.style.display;
localStorage.setItem('myData',JSON.stringify(myStorageData));
要改变你的复选框,你只需要把项目取出来,并设置样式:
var myStorageData = localStorage.getItem('mydata');
document.getElementById('somecheckbox').style.display = JSON.parse(myStorageData).somecheckbox;
注意你肯定想把一些逻辑包装成函数重用,并在解析之前做一些防御编码,以避免异常。
不要用它来存储css值,只是用它来存储复选框的最后状态。如果他们选中了那个复选框,在localstorage中存储一个值作为那个复选框的选中值。然后当页面加载时,从localstorage获取所有复选框的状态你能把它们都切换到之前的状态。复选框的状态将驱动应用于它们的css类。
相关文章:
- 无法使用Javascript和CSS显示/隐藏
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- 使用 JavaScript 和 CSS 显示图像
- CSS显示会影响jQuery/Javascript
- 脚本点击Css显示属性更改不正常运行Asp.net
- 使用css显示和隐藏元素不起作用
- Pandoc将HTML导出到带有CSS显示的Word:没有不起作用
- 使用CSS显示所有字符的内容可编辑单行
- 为什么javascript+CSS显示设置会使单选按钮不受欢迎
- 使用Javascript,如何在不同的HTML页面上更改CSS显示属性
- 使用 jQuery/CSS 显示/隐藏选定的表单
- CSS 显示属性不起作用
- 如何使用 JavaScript 更改 CSS 显示属性
- 通过图像和 CSS 显示背景网格
- 单击按钮时,使用 css 显示图像
- Jquery移动页面在使用css显示图像后消失
- 使用 CSS 显示隐藏项
- 当 CSS 显示“无要阻止”时,对象标记将重新加载
- 为什么我的 css 显示不规则
- 过滤器:第 n 个子项忽略 css 显示为无的位置