jQuery 显示带有 More 和 Less 链接的第一个 X 元素

2024-01-16

我试图找到一个 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 演示 http://jsbin.com/abusoq/2/edit#javascript,html,live

这只是一个基本示例:

$('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();
    
}); 

或者更多紧凑型 http://jsbin.com/dojoku/1/edit?html,js,output.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 显示带有 More 和 Less 链接的第一个 X 元素 的相关文章

随机推荐

  • 在模式注册表中,消费者的模式可能与生产者的模式不同,这实际上意味着什么

    在向 Kafka 生成 AVRO 数据时 Avro 序列化程序在写入数据时使用的字节数组中写入相同的架构 ID Kafka Consumer 根据接收到的字节数组中的模式 ID 从模式注册表中获取模式 因此 生产者和消费者等模式都使用相同的
  • 该操作无法完成,因为 DbContext 已使用 MVC 4 进行处置

    我知道这个问题被问了很多次 我已阅读并实施了所有解决方案 但没有取得成功 当我使用 EF 从数据库检索数据并在视图上使用此模型后与模型绑定时 出现此错误 我的控制器代码是 using System Linq using System Web
  • 卸载 32 位应用程序并安装 64 位应用程序

    是否有可能告诉 Inno Setup 卸载应用程序的 32 位版本 通常驻留在Program Files x86 以便安装 64 位版本的应用程序 通常在Program Files 如果不卸载32位版本 那么它们的bot就会在启动时启动 从
  • 创建一个列来保存连续值的运行计数

    我正在尝试创建一个列 consec 它将在另一个列 二进制 中保留连续值的运行计数 而不使用循环 这就是期望的结果 binary consec 1 0 0 2 1 1 3 1 2 4 1 3 5 1 4 5 0 0 6 1 1 7 1 2
  • MySQL A 或 B,但不能同时两者

    这似乎是一个简单的查询 但我似乎无法理解它或将其与堆栈溢出上的其他帖子联系起来 谁能解释一下 这是我到目前为止所拥有的 它正在返回一个人或两个人去过的所有酒吧的记录 TBL 常见模式 饮酒者 VARCHAR 50 PK 酒吧 VARCHAR
  • 正则表达式 - 查找具有 name 属性但不具有 id 的元素

    这个问题今天就出现在我身上了 我正在从事一个基于 Web Struts 2 的项目 其中包含大量 JSP 并且大部分input select table and a元素仅通过以下方式定义name属性 无id设置 例如
  • 绕过 org.apache.hadoop.mapred.InvalidInputException:输入模式 s3n://[...] 匹配 0 个文件

    这是我的一个问题已经问过 http apache spark user list 1001560 n3 nabble com Ignoring S3 0 files exception tt6101 html在 Spark 用户邮件列表中
  • Android:同时视频播放和录制

    我正在为 Android 开发一个类似视频聊天的应用程序 我可以同时在屏幕上录制和播放视频吗 我可以将视频相互合成 FaceTime 风格 还是必须并排放置 我可以使用 MediaPlayer 和 MediaRecorder 类还是必须使用
  • Angular 5 - 在函数中使用时 Ng-x 微调器不显示

    我不确定是否有人经历过这种情况 每当我尝试在函数中使用 ngx spinner 时 它都不起作用 但是当我将它放入订阅的回调中时 它就起作用了 在 authservice 之外 这没有显示微调器 login this spinner sho
  • Python 解释器/IronPython 解释器没有名为 clr 的模块

    我正在使用 IronPython 我想创建一些窗口窗体 我想创建一个带有一些按钮的 Windows 窗体 并且我想在 Visual Studio 中使用 Iron Python 来执行此操作 我使用的是Visual Studio 2012集
  • 更新推送通知的实时应用程序 ID

    我在 App Store 中有一个应用程序 它有一个通配符应用程序 ID 我想向其添加推送通知 但不能 因为我们有通配符应用程序 ID 这是我得到的错误 只有显式应用程序 ID 才能用于访问 Apple 推送通知服务 请使用具有特定捆绑包标
  • 用新行替换字符

    Powershell ver 4 Windows 7 我想更换 在文本文件中添加新行 我尝试了下面的脚本 Get Content C Test test txt Replace n Set Content C Test testv2 txt
  • isset() 在表单上无法正常工作

    我有一个用户提交的注册表单 使用 isset POST 发送数据以查看是否有任何内容放入表单输入框中 如果没有 则将其发送到 else 然后将其发送到一个函数 该函数将用户返回到注册表以完成一些缺少的表单 由于某种原因它无法正常工作 这是我
  • Mongodb-在现有集合上添加唯一索引

    我正在尝试学习 Mongodb 中的索引 我创建了一个数据库和一个集合 如下所示 use mydb db createCollection myFirstCollection one name Helios two name Kepler
  • JavaFX 在场景图控件上循环

    如何循环控制场景 我尝试使用 getChildrenUnmodifying 但它仅返回第一级子级 public void rec Node node f node if node instanceof Parent Iterator
  • pytorch如何设置.requires_grad False

    我想冻结我的一些模型 按照官方文档 with torch no grad linear nn Linear 1 1 linear eval print linear weight requires grad 但它打印True代替False
  • 如果发出 SIGINT 或 SIGSTP,是否会调用析构函数?

    我有一个带有用户定义析构函数的类 如果类最初被实例化 然后在程序运行时发出 SIGINT 在 unix 中使用 CTRL C 析构函数会被调用吗 SIGSTP unix 中的 CTRL Z 的行为是什么 不会 默认情况下 大多数信号都会导致
  • 分离 __iter__ 和 __next__ 方法

    在Python 3中 通过定义一个类同时成为可迭代器和迭代器是标准过程 iter and next 方法 但我很难理解这一点 以创建一个仅生成偶数的迭代器为例 class EvenNumbers def init self max self
  • .STACK 未在 MASM 中分配正确的大小

    基于微软MASM文档 https learn microsoft com en us cpp assembler masm dot stack view vs 2019 STACK指令的用法是 与 MODEL 一起使用时 定义堆栈段 段名称
  • jQuery 显示带有 More 和 Less 链接的第一个 X 元素

    我试图找到一个 jQuery 解决方案 在左侧导航过滤器中显示每个菜单上的前 3 个项目 并带有 显示更多 和 显示更少 链接 使用户能够扩展列表 我已经寻找了一个解决方案 但大多数展开 折叠脚本完全隐藏图层 而其他脚本则显示展开 显示更多