jQuery显示具有更多和更少链接的第一个X元素

我正在尝试找到一个jQuery解决方案,在左侧导航过滤器中显示每个菜单上的前3个项目,并显示显示更多”和“显示更少”链接,以便用户扩展列表.

我已经搜索一个解决方案,但大多数展开/折叠脚本完整隐藏图层,而其他人显示展开(显示更多)链接但不切换显示折叠(显示更少)链接.

我的菜单编码如下.

<div id="menu1">
<ul class="term-list">
<li class="term-item ">Item 1</li>
<li class="term-item ">Item 2</li>
<li class="term-item ">Item 3</li>
<li class="term-item ">Item 4</li>
</ul>
</div>
<div id="menu2">
<ul class="term-list">
<li class="term-item ">Item 1</li>
<li class="term-item ">Item 2</li>
<li class="term-item ">Item 3</li>
<li class="term-item ">Item 4</li>
</ul>
</div>

解决方法

jsBin demo

这是一个基本的例子:

$('ul.term-list').each(function(){

  var LiN = $(this).find('li').length;

  if( LiN > 3){    
    $('li',this).eq(2).nextAll().hide().addClass('toggleable');
    $(this).append('<li class="more">More...</li>');    
  }

});


$('ul.term-list').on('click','.more',function(){

  if( $(this).hasClass('less') ){    
    $(this).text('More...').removeClass('less');    
  }else{
    $(this).text('Less...').addClass('less'); 
  }

  $(this).siblings('li.toggleable').slidetoggle();

});

或者更多compact version.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...