我放在一起的代碼將允許我切換一個類並將其保存在本地存儲中。切換幾組類並通過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