javascript - 在继续下一个之前,我如何等待这个动画完成?
问题描述
我正在使用 HTML、CSS 和 JavaScript 创建游戏。我有 5 个 h2(s),我想等待动画完成,然后再继续执行代码的任何部分。动画按我想要的方式工作,但 JavaScript 甚至在第一个动画完成之前就开始了下一个动画!我试过使用
window.setTimeOut
但没有运气。这是带有所需代码的代码:https ://codepen.io/HumanFriend/pen/mdOBvoL 有人可以帮我吗?
解决方案
您可以收听animationend
事件,fe:
const animated = document.querySelector('.animated');
animated.addEventListener('animationend', () => {
console.log('Animation ended');
});
阅读更多:https ://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/animationend_event
随机的东西:
当您使用时,setTimeout(nextI_ifelse(), 5000);
您只需调用 nextI_ifelse 内联(并且您正在为此函数返回的值设置超时)。将其更改为setTimeout(nextI_ifelse, 5000);
任何您只想阅读一般算法的内容。您尝试做的事情是有意义的,但您尝试实现的方式却没有。codepen 中的 for 循环会立即运行,因此iLevel
直接设置为最后一个值。
推荐阅读
- python - Python tkinter:删除菜单检查按钮
- c# - 在测试中使用已实现的方法是好主意还是坏主意?
- python - urllib.request.urlopen 不停止
- ios - 取消 UIview.animation 与用户交互
- vb.net - 自定义文化不能传LCID,只能通过名字,参数名:culture
- python - Python (Selenium/BeautifulSoup) 搜索结果动态 URL
- xamarin - MainActivity 泄露了原本绑定在这里的 ServiceConnection CustomTabsServiceConnectionImpl
- html - 根据元素的宽度更改 CSS
- matlab - 转换向量索引超出数组边界 - matlab
- html - 设置默认选择的选项 - Angular JS