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

Wes Bos鼓机项目removeTransition函数无法执行问题求助

可能的问题原因及修复方案

你提供的removeTransition函数未触发,可按以下顺序排查:

function removeTransition(e) {
    if (e.propertyName !== 'transform') return;
    this.classList.remove('playing');
}
  • 事件绑定错误
    必须为所有需要响应动画结束的鼓键元素绑定transitionend事件,绑定代码参考:
    // 确保选择器和你HTML中鼓键的类名一致
    const allKeys = document.querySelectorAll('.key');
    allKeys.forEach(key => key.addEventListener('transitionend', removeTransition));
    
    若选择器写错、绑定的事件名拼写错误(比如写成transitionEnd大小写错误)、绑定对象不是实际添加playing类的元素,都会导致回调不触发。
  • CSS配置不匹配
    函数逻辑仅响应transform属性的过渡结束事件,需要核对样式规则:
    1. 鼓键基础样式中transition属性需包含transform,例如:
    .key {
      transition: all 0.07s ease;
    }
    
    1. 激活态playing类需要修改transform属性,例如:
    .playing {
      transform: scale(1.1);
      border-color: #ffc600;
      box-shadow: 0 0 1rem #ffc600;
    }
    
    若过渡规则未覆盖transform,或者激活态没有修改transform,函数会被触发但直接在第一行判断后返回,看起来就像没有执行。
  • 类名拼写错误
    确认按键按下时添加的类名完全为playing,无大小写错误、拼写错误,否则不会触发对应过渡效果,自然不会抛出transitionend事件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:54:02