javascript - 我正在尝试添加手风琴,但它没有打开
问题描述
点击按钮时手风琴没有打开。
请帮忙。
非常感谢!
请查找以下代码:请查找以下代码:请查找以下代码:请查找以下代码:请查找以下代码:请查找以下代码:请查找以下代码:请查找以下代码:请查找下面写的代码:请找到下面写的代码:请找到下面写的代码:请找到下面写的代码:
请找到下面写的代码:
< script >
document.querySelectorAll("accordion__button").forEach(button => {
button.addEventListener("click", () => {
const accordionContent = button.nextElementSibling;
button.classList.toggle("accordion__button--active");
if (button.classList.contains("accordion__button--active")) {
accordionContent.style.maxHeight = accordionContent.scrollHeight + 'px';
} else {
accordionContent.style.maxHeight = 0;
}
});
});
</script>
.accordion__button {
display: block;
width: 100%;
padding: 15px;
border: none;
outline: none;
cursor: pointer;
background: #333333;
color: #ffffff;
text-align: left;
transition: background 0.2s;
}
.accordion__button::after {
content: '\25be';
float: right;
transform: scale(1.5);
}
.accordion__button--active {
background: #555555;
}
.accordion__button--active::after {
content: '\25be';
}
.accordion__content {
overflow: hidden;
max-height: 0;
transition: max-height 0.2s;
padding: 0 15px;
font-family: sans-serif;
background: #eeeeee;
}
<div class="accordion">
<button type="button" class="accordion__button">FUP Plans</button>
<div class="accordion__content">
<p>"At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia </p>
</div>
</div>
<script> document.querySelectorAll("accordion__button").forEach(button => {
button.addEventListener("click", () => {
const accordionContent = button.nextElementSibling;
button.classList.toggle("accordion__button--active");
if (button.classList.contains("accordion__button--active")) {
accordionContent.style.maxHeight = accordionContent.scrollHeight + 'px';
}
else {
accordionContent.style.maxHeight = 0;
}
});
});
</script>
.accordion__button {
display: block;
width: 100%;
padding: 15px;
border: none;
outline: none;
cursor: pointer;
background: #333333;
color: #ffffff;
text-align: left;
transition: background 0.2s;
}
.accordion__button::after {
content: '\25be';
float: right;
transform: scale(1.5);
}
.accordion__button--active {
background: #555555;
}
.accordion__button--active::after {
content: '\25be';
}
.accordion__content {
overflow: hidden;
max-height: 0;
transition: max-height 0.2s;
padding: 0 15px;
font-family: sans-serif;
background: #eeeeee;
}
<div class="accordion">
<button type="button" class="accordion__button">FUP Plans</button>
<div class="accordion__content" >
<p>"At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia
</p>
</div>
</div>
enter code here
解决方案
问题在于这条修改后的线路。
document.querySelectorAll(".accordion__button").forEach(button => { ... });
只需添加“。” 字符来定义元素的类名。
推荐阅读
- python - OpenCV Python CalcHist:如何在 RGB 值范围内堆叠像素数?
- reactjs - 如何使用 Axios 将对象作为 QueryString 传递给 web api
- ruby-on-rails - 重新打开课程并添加方法不起作用
- image-processing - 检测图像中的一张纸,如 cam-scanner 应用程序
- python - 如何从文本文件中求解简单的数学方程
- php - 如何在不同的远程服务器上运行相同的 PHP 脚本?
- jmeter - create-rmi-keystore.bat 一次又一次地询问我
- elasticsearch - 对弹性搜索的 curl 请求引发异常
- python - 根据字段更新记录 - Django
- php - 搜索 pdf 文件