You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击手风琴(Accordion)组件时箭头旋转180度?

手风琴箭头旋转效果实现方案

你只需要两步就能实现箭头随手风琴展开/收起同步旋转的效果,逻辑简单直接:

1. 添加箭头旋转的CSS样式

先给箭头元素加上过渡动画,再定义一个控制旋转状态的类,让旋转过程更平滑:

/* 给箭头添加过渡动画,确保旋转过程流畅 */
.faqs-question i {
    font-size: 48px;
    transition: transform 0.6s ease; /* 新增过渡属性 */
}

/* 定义箭头旋转180度的类 */
.faqs-question i.rotate {
    transform: rotate(180deg);
}

2. 修改JavaScript同步切换箭头状态

在你已有的点击事件逻辑里,新增一行代码找到按钮内的箭头元素,用classList.toggle()同步切换旋转类:

const buttons = document.querySelectorAll('button');

buttons.forEach(button => {
    button.addEventListener('click', () => {
        const faq = button.nextElementSibling;
        faq.classList.toggle('show');
        
        // 新增:找到按钮内的箭头,切换旋转类
        const arrow = button.querySelector('i');
        arrow.classList.toggle('rotate');
    })
})

这样每次点击按钮时,箭头会和答案的展开/收起状态同步切换旋转方向——展开时箭头向上转180度,收起时自动恢复向下状态。

内容的提问来源于stack exchange,提问作者TheNickster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 22:30:32