2024年03月30日 懒猪技术
以下是一个简单的实现示例,使用jQuery库实现:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>点击标题切换内容</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <style> .container { width: 400px; margin: 0 auto; padding: 20px; border: 1px solid #ccc; font-size: 16px; line-height: 1.5; } .title { cursor: pointer; font-weight: bold; } .content { display: none; padding-top: 10px; } </style> </head> <body> <div class="container"> <h2 class="title">标题1</h2> <div class="content"> <p>内容1</p> </div> <h2 class="title">标题2</h2> <div class="content"> <p>内容2</p> </div> <h2 class="title">标题3</h2> <div class="content"> <p>内容3</p> </div> </div> <script> // 获取所有标题元素 var titles = $('.title'); // 遍历标题元素 titles.each(function(index, element) { // 添加点击事件处理函数 $(this).click(function() { // 获取当前标题元素的下一个兄弟元素(即内容元素) var content = $(this).next(); // 判断内容元素是否已显示 if (content.is(':visible')) { // 如果已显示,则隐藏内容元素 content.hide(); } else { // 如果未显示,则显示内容元素,并隐藏其他内容元素 content.show(); content.siblings('.content').hide(); } }); }); </script> </body> </html>
以下是简化版代码,将遍历标题元素的过程合并到了事件处理函数中:
<script> // 添加点击事件处理函数 $('.title').click(function() { // 获取当前标题元素的下一个兄弟元素(即内容元素) var content = $(this).next(); // 判断内容元素是否已显示 if (content.is(':visible')) { // 如果已显示,则隐藏内容元素 content.hide(); } else { // 如果未显示,则显示内容元素,并隐藏其他内容元素 content.show(); content.siblings('.content').hide(); } }); </script>
本文链接:http://so.lmcjl.com/news/711/