You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用anime.js实现动画?现有代码日志正常但无动画效果

解决anime.js动画不生效的问题

我仔细看了你的代码,导致动画没生效的核心原因是anime.js的配置属性拼写错误——你写的是target,但正确的属性名应该是targets(复数形式),这是anime.js API的必填选项,单数的target会被库忽略,自然不会触发动画。

除此之外,我也帮你优化了代码的可读性,同时确认了事件绑定的作用域问题(你用let current_button的写法是正确的,避免了循环闭包的坑)。

修正后的JavaScript代码

// 用querySelectorAll更直观,也能避免getElementsByTagName的动态集合问题
const buttons = document.querySelectorAll('button'); 
for (let i = 0; i < buttons.length; i++){ 
    const current_button = buttons[i]; 
    current_button.addEventListener('mouseenter', function () { 
        console.log(current_button);
        anime({ 
            targets: current_button, // 这里改成复数targets
            scale: 2, 
            translateX: 500, 
            duration: 5000 
        });
        console.log("temp");
    });
}

额外检查项

如果修正后动画还是没运行,请确认这一点:

  • 你已经在HTML中正确引入了anime.js库,要确保引入代码在你的自定义脚本之前,比如:
    <!-- 在你的自定义脚本前引入anime.js -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js"></script>
    <!-- 你的自定义脚本 -->
    <script>
        // 你的代码...
    </script>
    

这样修改后,当鼠标悬停在按钮上时,应该就能看到预期的缩放和平移动画了。

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

火山引擎 最新活动