如何解决使用引导程序和本地存储覆盖默认面板折叠
我正在尝试为默认值为class = "collapse show"
的面板创建一个持久折叠状态。该代码适用于cshtml中为class = "collapse"
的面板,但不适用于默认的打开面板。这是塌陷持续发生的原因。
function setPanelPersist() {
var path = window.location.pathname.split('/').slice(0,-1).join('/');
var panelKey = 'panel_' + window.location.host + path
function setOpenPanels() {
var openPanels = $('.collapse.show')
var ids = openPanels.map(function () {
return $(this).attr('id')
}).toArray()
localStorage.setItem(panelKey,ids);
}
$('.collapse').on('shown.bs.collapse',setOpenPanels)
$('.collapse').on('hidden.bs.collapse',setOpenPanels)
}
function loadLastPanelFromStorage() {
var path = window.location.pathname.split('/').slice(0,-1).join('/');
var panelKey = 'panel_' + window.location.host + path
if (localStorage.getItem(panelKey)) {
var panelIds = localStorage.getItem(panelKey);
if (panelIds.length) {
panelIds.split(",").map(function (id) {
var panel = $('#' + id)
panel.collapse("show")
})
}
}
}
$(document).ready(function () {
setPanelPersist();
loadLastPanelFromStorage();
})
此设置可以插入到多个视图中,并应用于每个页面上的多个面板,但是我意识到我可能必须更改它或将第二个功能用于默认的显示面板。任何建议表示赞赏。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。