使用JavaScript实现Animated SVG logo动画失效,求助排查错误
错误原因及修复方案
- 核心语法不兼容:你引入的是GSAP 2.x版本,但是代码里用的是GSAP 3.x的
gsap.timeline()写法,GSAP 2.x没有全局gsap对象,会直接抛出未定义错误导致代码完全不执行。
修复方案:直接替换GSAP引入链接为3.x版本即可,3.x版本完全兼容你写的代码,替换后的引入代码:<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script> - 多版本jQuery冲突:你连续引入了3个不同版本的jQuery(3.5.1、3.0.0 beta1、3.4.1),不同版本的全局
$对象会互相覆盖,可能干扰其他库的执行逻辑。
修复方案:删除多余的jQuery引入,仅保留1个最新稳定版即可。 - 可选优化:增加DOM加载判断:虽然你把JS脚本放在了body末尾,但是增加DOM加载完成的监听可以避免特殊场景下元素未渲染完成就执行代码、选不到翅膀元素的问题,修改JS代码的初始化部分:
let wingsTl; document.addEventListener('DOMContentLoaded', () => { initWings(); wingsTl.play(); }) // 原有initWings函数保持不变
按照以上步骤修改后,翅膀动画即可正常运行。
内容的提问来源于stack exchange,提问作者Ahmed Al Mubarak
相关产品推荐
相关产品推荐

