【发布时间】:2017-10-31 13:08:03
【问题描述】:
基本上,我有一个过滤列表,它使用 jquery 隐藏/显示大型 UL 中的正确元素。
目前,我只使用display:none 和display:block。由于您无法在这些元素上放置过渡,因此我想知道最好的方法。
我不能使用 opacity:0;和可见性:0 因为它在应该隐藏正确 li 的 ul 中留下很大的间隙。 Display block/none 工作正常,但我想添加一个过渡,这样当单击该项目时,正确的 li 会淡入,而应该隐藏的会淡出。
<div class="jobs-filter">
<span>Filter by:</span>
<ul>
<li class="jobs-list"><a class="jobs filter item europe" href="#">Europe</a></li>
<li class="jobs-list"><a class="jobs filter item north-america" href="#">North America</a></li>
</ul>
</div>
<div class="listing">
<ul>
<li class="europe">
<a target="_blank" href="#">
<div class="left">
<span class="title">Europe Test</span>
</div>
<div class="right">
<span class="job-arrow"></span>
</div>
</a>
</li>
<li class="north-america">
<a target="_blank" href="#">
<div class="left">
<span class="title">NA Test</span>
</div>
<div class="right">
<span class="job-arrow"></span>
</div>
</a>
</li>
<li class="europe">
<a target="_blank" href="#">
<div class="left">
<span class="title">Europe Test</span>
</div>
<div class="right">
<span class="job-arrow"></span>
</div>
</a>
</li>
<li class="north-america">
<a target="_blank" href="#">
<div class="left">
<span class="title">NA Test</span>
</div>
<div class="right">
<span class="job-arrow"></span>
</div>
</a>
</li>
<li class="europe">
<a target="_blank" href="#">
<div class="left">
<span class="title">Europe Test</span>
</div>
<div class="right">
<span class="job-arrow"></span>
</div>
</a>
</li>
<li class="north-america">
<a target="_blank" href="#">
<div class="left">
<span class="title">NA Test</span>
</div>
<div class="right">
<span class="job-arrow"></span>
</div>
</a>
</li>
<li class="europe">
<a target="_blank" href="#">
<div class="left">
<span class="title">Europe Test</span>
</div>
<div class="right">
<span class="job-arrow"></span>
</div>
</a>
</li>
</ul>
</div>
有谁知道解决这个问题的最佳方法?
Codepen 链接:https://codepen.io/Davabo/pen/wPaJKV/
【问题讨论】: