用 HTML、CSS 和 JS 实现带过渡动画的手风琴式二级导航展开隐藏效果
首先,我们需要创建一个HTML文件,包含一级导航栏和二级导航栏。然后,我们将使用CSS来设置样式和过渡动画效果。我们将使用JavaScript来实现手风琴效果。 1. 创建HTML结构: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>手风琴导航</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="accordion"> <div class="accordion-item"> <h3 class="accordion-header">采购管理</h3> <ul class="accordion-content"> <li>采购计划</li> <li>供应商管理</li> <li>采购订单</li> </ul> </div> <div class="accordion-item"> <h3 class="accordion-header">库存管理</h3> <ul class="accordion-content"> <li>库存查询</li> <li>入库管理</li> <li>出库管理</li> </ul> </div> <!-- 更多导航项... --> </div> <script src="scripts.js"></script> </body> </html> ``` 2. 编写CSS样式: ```css /* styles.css */ body { font-family: Arial, sans-serif; } .accordion { width: 300px; background-color: #f9f9f9; border: 1px solid #ccc; } .accordion-item { border-bottom: 1px solid #ccc; } .accordion-header { padding: 10px; cursor: pointer; background-color: #eee; } .accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-in-out; } .accordion-content li { padding: 10px; border-bottom: 1px solid #ccc; } .accordion-content li:last-child { border-bottom: none; } ``` 3. 编写JavaScript代码: ```javascript // scripts.js document.addEventListener('DOMContentLoaded', function() { var accordionHeaders = document.querySelectorAll('.accordion-header'); accordionHeaders.forEach(function(header) { header.addEventListener('click', function() { var content = this.nextElementSibling; if (content.style.maxHeight) { content.style.maxHeight = null; } else { var maxHeight = content.scrollHeight + 'px'; content.style.maxHeight = maxHeight; } }); }); }); ``` 现在,当你点击一级导航项时,二级导航将展开或收缩,并具有过渡动画效果。你可以根据需要修改HTML结构和CSS样式以满足其他要求。 ######[AI写代码神器 | 801点数解答 | 2024-10-11 11:30:17]
- HTML+jQuery 实现列表元素悬停动画效果:代码详解与注意事项(字节豆包 | 475点数解答 | 2024-12-19 14:58:05)367
- HTML+jQuery:打造动态导航栏动画效果及注意事项(字节豆包 | 495点数解答 | 2024-12-19 14:58:06)316
- HTML+jQuery:打造带动态交互效果的商品展示页面(讯飞星火 | 497点数解答 | 2024-12-19 14:58:18)321
- HTML与jQuery结合:实现商品列表交互动画的首页代码解析(讯飞星火 | 497点数解答 | 2024-12-19 14:58:20)337
- 锁屏页面代码优化:从内联样式到外部 CSS 的完美转变(字节豆包 | 2052点数解答 | 2025-05-31 12:45:02)216
- 锁屏页面代码优化:模块化、注释与兼容性全攻略(字节豆包 | 2110点数解答 | 2025-05-31 12:45:28)238
- 充值页面LayUI框架代码分析:问题、优化与逻辑要点(DeepSeek | 354点数解答 | 2025-05-05 02:54:04)191
- 探秘这段 HTML 代码背后的网页奥秘(字节豆包 | 51点数解答 | 2024-12-09 20:31:23)352
- 帝王尬笑博客:技术、项目与生活点滴的精彩汇聚(GPT | 86点数解答 | 2024-11-16 02:59:47)290
- 微信钱包前端演示代码:从问题修正到完善功能及安全提示(字节豆包 | 2097点数解答 | 2025-07-11 18:06:46)148
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)257
- Three.js实现可360°观察正交长方体:代码分析、优化与注意要点(DeepSeek | 466点数解答 | 2025-03-01 11:35:41)247