You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何点击列表所属容器块实现列表项的展开与收起切换?

实现点击容器展开/收起列表的方案

方案思路

通过CSS控制列表显隐状态,JS监听头部点击事件切换父容器状态类即可实现,代码侵入性低,还可自定义过渡动画提升交互体验。

步骤1:添加CSS样式

/* 头部添加可点击提示 */
.recent-box__head {
  padding: 12px 16px;
  background: #f5f5f5;
  cursor: pointer;
}
/* 列表默认收起 */
.recent-box__list {
  margin: 0;
  padding: 0 16px;
  max-height: 0;
  overflow: hidden;
  /* 加入顺滑展开动画 */
  transition: max-height 0.3s ease;
}
/* 父容器激活时列表展开,max-height取值只要大于列表最大可能高度即可 */
.recent-box.active .recent-box__list {
  max-height: 600px;
  padding-block: 8px;
}

步骤2:添加JS交互逻辑

// 绑定所有列表头部的点击事件
document.querySelectorAll('.recent-box__head').forEach(head => {
  head.addEventListener('click', function () {
    // 切换当前容器的激活状态
    this.closest('.recent-box').classList.toggle('active')
  })
})

可选配置

  • 若需要默认展开,直接给对应.recent-box元素加active类即可
  • 可自行修改CSS里的背景、内边距、动画时长等参数匹配项目设计风格

内容的提问来源于stack exchange,提问作者Roman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:36:03