Очень рано учится использовать Jquery, поэтому вполне возможно, что моя ошибка очевидна. Я благодарен за любую помощь или предложения, так как я все еще очень стараюсь реализовать промежуточные концепции такого рода.
В настоящее время у меня есть меню навигации, которое открывается и закрывается с флажком. При проверке класс 'флажок' добавляется как к самому меню .side-popped
, так и к кнопке, которая открывает и закрывает его .sb
.
Это сценарий, который я сейчас использую для выполнения sh that:
<script>$('#sidenav').change(function(){
if($(this).is(":checked")) {
$('.side-pop').addClass("checked");
$('.sb').addClass("checked");
} else {
$('.side-pop').removeClass("checked");
$('.sb').removeClass("checked");
}
});</script>
Я пытаюсь сохранить состояние флажка с помощью плагина jquery cook ie, чтобы при перезагрузке страницы состояние флажка поддерживалось (и, следовательно, меню остается открытым или закрытым). Мой html ниже для навигации по меню.
<div id="side-buttons">
<label for="sidenav" class="side-button"><div class="sb"><span class="icon-lighthouse"></span></div></label>
<input type="checkbox" name="sidenav" id="sidenav" value="Y" class="checkbox-sidenav" />
</div>
</div>
<div class="side-pop">
<div class="sb2"><i class="icon-chat-bubble"></i></div>
<div class="sb2"><i class="icon-bell"></i></div>
<div class="alink">tracked topics</div>
<div class="alink">settings</div>
<div class="alink">inventory</div>
<div class="alink">logout</div>
</div>
Я пытался использовать этот скрипт из SitePoint, но безуспешно.
<script>
var checkboxValues = JSON.parse(localStorage.getItem('checkboxValues')) || {},
$checkboxes = $("#side-buttons :checkbox");
$checkboxes.on("change", function(){
$checkboxes.each(function(){
checkboxValues[this.id] = this.checked;
});
localStorage.setItem("checkboxValues", JSON.stringify(checkboxValues));
});
// On page load
$.each(checkboxValues, function(key, value) {
$("#" + key).prop('checked', value);
});
</script>