【发布时间】:2017-03-15 17:36:04
【问题描述】:
我有一组无序列表项,并且只需要在加载时显示前 3 个 li 元素。当用户单击+ 符号时,剩余的列表项应仅针对单击的列表组进行切换。我相信这也可以仅使用 CSS 来完成,但要尝试使用 jQuery 来实现。
这是我当前的实现:
HTML
<div class="container">
<div class="col-lg-3">
<div class="toggle" tabindex="1">
<p class="header" onclick="void(0)">LINK</p>
<ul>
<li>link 1</li>
<li>link 2</li>
<li>link 3</li>
<li>link 4</li>
<li>link 5</li>
<li>link 6</li>
</ul>
</div>
</div>
<div class="col-lg-3">
<div class="toggle" tabindex="1">
<p class="header" onclick="void(0)">LINK</p>
<ul>
<li>link 1</li>
<li>link 2</li>
<li>link 3</li>
<li>link 4</li>
<li>link 5</li>
<li>link 6</li>
</ul>
</div>
</div>
<div class="col-lg-3">
<div class="toggle" tabindex="1">
<p class="header" onclick="void(0)">LINK</p>
<ul>
<li>link 1</li>
<li>link 2</li>
<li>link 3</li>
<li>link 4</li>
<li>link 5</li>
<li>link 6</li>
</ul>
</div>
</div>
</div>
jQuery
$('ul li').hide().filter(':lt(3)').show();
$('ul').append('<li>+</li>').find('li:last').click(function() {
$(this).siblings(':gt(2)').toggle();
});
JSFIDDLE:LINK
【问题讨论】: