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

如何为图片元素切换类?点击播放按钮添加旋转类elem

解决点击播放按钮切换图片旋转类的问题

实现步骤

  1. 获取目标图片元素:通过类选择器定位kiwi类的img标签
  2. 同步播放状态切换类:播放歌曲时为图片添加旋转类elem,暂停时移除;也可直接用toggle实现一键切换
  3. 确保旋转动画生效:确认elem类的CSS动画样式正确定义

修改后的完整代码

HTML(保持原有结构无需改动)

<img src="./images/kiwi.png" class="kiwi" aria-hidden="true" />
<button onclick="justplay()" id="play"><i class="fa fa-play" aria-hidden="true"></i></button>

CSS(添加旋转动画样式)

/* 图片旋转动画 */
.elem {
    animation: rotate 2s linear infinite;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

JavaScript(完善播放逻辑并添加类切换)

let play = document.querySelector("#play");
const kiwiImg = document.querySelector('.kiwi'); // 拿到目标图片
let Playing_song = false;
// 替换为你的音频元素选择器
const track = document.querySelector('#your-audio-id');

function justplay() {
    Playing_song ? pausesong() : playsong();
}

function playsong() {
    track.play();
    Playing_song = true;
    play.innerHTML = '<i class="fa fa-pause" aria-hidden="true"></i>';
    kiwiImg.classList.add('elem'); // 播放时开启旋转
}

function pausesong() {
    track.pause();
    Playing_song = false;
    play.innerHTML = '<i class="fa fa-play" aria-hidden="true"></i>';
    kiwiImg.classList.remove('elem'); // 暂停时停止旋转
}

简化方案:用toggle一键切换

如果希望类切换完全同步按钮点击动作,可直接用classList.toggle替代单独的add/remove,修改justplay函数即可:

function justplay() {
    if (Playing_song) {
        pausesong();
    } else {
        playsong();
    }
    kiwiImg.classList.toggle('elem'); // 一键切换旋转状态
}

常见排查点

  • 检查kiwi类名拼写是否和HTML一致,确保能正确获取图片元素
  • 确认elem类的CSS已正确加载,动画属性无语法错误
  • 保证track音频元素已正确定义,未出现未引用的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 07:07:36