我放在一起的代码将允许我切换一个类并将其保存在本地存储中。切换几组类并通过HTML本地存储器保存
现在我需要添加2个更多的类来切换并以相同的方式保存。 我不知道如何正确地迭代代码和DOM来实现这一点。
这是我的 “半工作” 的例子: http://jsbin.com/nimekebura/1/edit?html,css,js,output
HTML:
<a href="javascript:void(0)" class="bar-toggle">toggle and save state</a>
<div class="container">
<div class="box"></div>
<div class="box"></div>
</div>
<hr />
<div class="container">
<div class="box"></div>
<div class="box"></div>
</div>
<hr />
<div class="container">
<div class="box"></div>
<div class="box"></div>
</div>
<hr />
<div class="container">
<div class="box"></div>
<div class="box"></div>
</div>
JS:
//retrieve current state
$('.container').toggleClass(localStorage.toggled);
/* Toggle */
$('.bar-toggle').on('click',function(){
// set 1 localstorage values are always strings (no booleans)
if (localStorage.toggled != "with_toggle") {
$(".container").toggleClass("with_toggle", true);
localStorage.toggled = "with_toggle";
} else {
$(".container").toggleClass("with_toggle", false);
localStorage.toggled = "";
}
});
我需要添加和切换另外2班每个。框类已经在代码中。
这样的代码将切换这样的:
<div class="container with_toggle">
<div class="box multi box_toggled"></div>
<div class="box multi box_toggled"></div>
</div>
这将是最好的守则,以实现上述?
的'localStorage'对象并不意味着与像'toggled'新的密钥进行扩展。如果你想添加一个新项目,你可以使用'localStorage.setItem('key','value')'https://developer.mozilla.org/en-US/docs/Web/API/Storage –
@RedMercury hmm那么我将如何重构代码?我只是不知道。你能够重构它,并帮助我也添加我需要的两个额外的切换类吗?我现在一直在研究这个问题很久,而且我一直在失败。太令人沮丧了。 – user2513846