交互式常见问题折叠面板
本课属于 Coddy HTML 学习旅程的“JavaScript 实战”单元。第 24 课,共 27 课。
挑战
简单我们有一个简单的 FAQ 页面,里面有几个问题。这种设计很常见:用户点击问题时,隐藏的答案应该平滑地向下展开。同时,我们可以将“+”旋转成“×”,表示该单元已展开。
我们有一个 FAQ 单元,里面有一个问题。你的任务是让它具有交互功能:
在 JavaScript 中:
- 为 FAQ 问题添加点击事件监听器
- 点击时,切换答案上的 "show" 类
在 CSS 中:
添加样式,使其满足以下条件:
- 当 FAQ 答案具有 "show" 类时,将其不透明度设为 1,并将最大高度设为 300px
亲手试试
<!DOCTYPE html>
<html>
<head>
<title>FAQ Challenge</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>FAQ – Healthy Lifestyle</h1>
<div class="faq">
<div class="faq-item">
<div class="faq-question">
<span>What does a balanced diet mean?</span>
<span>+</span>
</div>
<div class="faq-answer">
A balanced diet includes a variety of foods — fruits, vegetables, whole grains, lean proteins, and healthy fats — in the right proportions to keep your body nourished and energized.
</div>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
JavaScript 实战中的所有课
自己练习: Web 在线编辑器