工作原理
我目前使用Isotope创建了一个列表,显示所有帖子的类别。单击类别时,它会显示该类别中的所有帖子。这个功能正常工作。如果难以理解,请查看页面。
<ul id="filters-undercat" class="luft underkategori">
<li class="smoothtrans"><a href="#" data-filter="*" class="selected smoothtrans">Alle</a></li>
<li class="smoothtrans"><a href='#' data-filter='.familiepakker' class="smoothtrans">Familiepakker</a></li>
<li class="smoothtrans"><a href='#' data-filter='.markfyrverkeri' class="smoothtrans">Markfyrverkeri</a></li>
</ul>
显示每个分类中的文本
我还希望显示代表每个分类的文本。这意味着当单击某个类别时,它会显示另一个包含文本的div。这部分已经实现了。我使用onclick="toggle_visibility
来完成。
JS
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'none')
e.style.display = 'block';
else
e.style.display = 'none';
}
HTML
<ul id="filters-undercat" class="luft underkategori">
<li class="smoothtrans"><a href="#" data-filter="*" class="selected smoothtrans">Alle</a></li>
<li class="smoothtrans"><a href='#' data-filter='.familiepakker' class="smoothtrans" onclick="toggle_visibility('familiepakker')">Familiepakker</a></li>
<li class="smoothtrans"><a href='#' data-filter='.markfyrverkeri' class="smoothtrans" onclick="toggle_visibility('markfyrverkeri')">Markfyrverkeri</a></li>
</ul>
每个类别中将显示的文本:
<div id="pakketekstholder">
<div id="familiepakker" style="display:none;">Tekst om familie</div>
<div id="markfyrverkeri" style="display:none;">Tekst om mark</div>
</div>
问题
问题在于当点击第二个分类时,它也显示了第一个分类的文本。依此类推。
解决方案
最佳解决方案是,如果单击另一个列表,则将其重置为默认值,然后添加另一个 div。
请提供一个可行的解决方案好吗?