我正在使用bootstrap accordion。我希望能够存储手风琴的状态。我决定使用本地存储。如果用户关闭了折叠,我想要清除localstorage,这样它就不会一直打开。我已经把这些都做好了。我的问题是,当用户点击打开/关闭accordion的链接时,我正在对类进行“折叠”检查。当它被点击时,我假设如果它有类“折叠”,我可以清除localstorage。但出于某种原因,情况恰恰相反。如果我否定它,一切都是好的。我没看到的是什么?
$('.accordion-right').click(function() {
if (!$(this).hasClass('collapsed')) {
localStorage.clear();
} else {
localStorage.setItem('collapseItem', $(this).attr('href'));
}
});
var collapseItem = localStorage.getItem('collapseItem');
if (collapseItem) {
if (<%= is_patient? %>) {
$('#record').collapse('show');
} else {
$(collapseItem).collapse('show');
}
}下面是html的一小段。
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" class="accordion-right" href="#history"><span class="glyphicon glyphicon-th">
</span>History</a>
</h4>
</div>
<div id="history" class="panel-collapse collapse">
<div class="panel-body">
<ul>
<%= nav_search_sidebar %>
</ul>
</div>
</div>
</div>编辑:拼写
为了清楚起见,当bootstrap事件触发时,它会移除在代码运行时动态添加的“折叠”类。
https://stackoverflow.com/questions/44512346
复制相似问题