手风琴菜单
手风琴菜单(Accordion)是一种典型的交互式折叠菜单形式,在导航、侧边栏、常见问题(FAQ)等场景中非常常见。
实现功能
- 点击一级标题,展开对应内容
- 自动收起其他已展开项
- 支持初始默认展开
HTML 结构示例
<div class="accordion">
<div class="item">
<h3 class="title">菜单一</h3>
<div class="content">内容一</div>
</div>
<div class="item">
<h3 class="title">菜单二</h3>
<div class="content">内容二</div>
</div>
<div class="item">
<h3 class="title">菜单三</h3>
<div class="content">内容三</div>
</div>
</div>
jQuery 实现逻辑
$(function () {
$(".accordion .content").hide(); // 初始化隐藏内容
$(".accordion .item:first .content").show(); // 默认展开第一项
$(".accordion .title").click(function () {
const $content = $(this).next(".content");
if (!$content.is(":visible")) {
$(".accordion .content").slideUp();
$content.slideDown();
}
});
});
样式建议
.accordion .title {
background: #007bff;
color: white;
padding: 10px;
margin: 0;
cursor: pointer;
}
.accordion .content {
border: 1px solid #ddd;
padding: 10px;
background: #f9f9f9;
}
.accordion .item + .item {
margin-top: 5px;
}
使用建议
.title元素用作点击区域.content区域控制显示内容- 支持多层嵌套时,需考虑事件委托或结构调整
完整示例代码
源码
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="accordion">
<div class="item">
<h3 class="title">菜单一</h3>
<div class="content">内容一:这里是详细说明。</div>
</div>
<div class="item">
<h3 class="title">菜单二</h3>
<div class="content">内容二:也可以嵌套表格或列表。</div>
</div>
<div class="item">
<h3 class="title">菜单三</h3>
<div class="content">内容三:支持任何 HTML 内容。</div>
</div>
</div>
<script>
$(function () {
$(".accordion .content").hide();
$(".accordion .item:first .content").show();
$(".accordion .title").click(function () {
const $content = $(this).next(".content");
if (!$content.is(":visible")) {
$(".accordion .content").slideUp();
$content.slideDown();
}
});
});
</script>
相关内容
- 什么是 jQuery 了解什么是 jQuery,这款流行的 JavaScript 库如何简化网页的 DOM 操作、事件处理和 Ajax 调用,帮助前端开发者高效构建交互式网页,适合初...
- 引入方式 详细介绍 jQuery 的多种引入方式,包括通过 CDN 和本地下载的方式,帮助开发者快速搭建开发环境并优化网页加载性能,适合初学者和进阶用户参考学习。
- 基本语法 介绍 jQuery 的基本语法结构,包括选择器、事件绑定和链式调用,帮助初学者快速掌握如何用简洁代码操作 DOM,提高前端开发效率。
- 基础选择器 详细讲解 jQuery 的基础选择器用法,帮助开发者轻松选中 DOM 元素,掌握 ID、类名、标签选择器等常见选择技巧,提高网页操作效率。
- 层级选择器 介绍 jQuery 层级选择器的用法,包括子元素选择器、后代选择器、兄弟选择器等,帮助开发者精准定位复杂 DOM 结构中的元素,提升操作效率。
- 过滤选择器 介绍 jQuery 过滤选择器的使用方法,包括 :first、:last、:eq、:gt、:lt 等伪类选择器,帮助开发者精准筛选符合条件的元素,提高操作灵活性...