我的元素即将完成。文章末尾将有一个用于调试的元素的codepen链接。
应该发生什么?
img
包含 dragon
的 id
属性,以及用于强制加载的 src
默认图像。它以 this 开头img
在加载时被(强制)预加载。它应该保持这样,然后一旦调用 decision1()
函数,它应该将其更改为 this img
。一旦调用了 dragonBattle()
函数,它应该将 img
更改为 this动图。如果玩家攻击(或调用hitDragon()
函数),它应该播放this animation一次,然后恢复为 dragon.gif
图像。一旦战斗结束(或功能结束),它将恢复为默认图像。
请记住,所有这些函数/事件都是由用户通过prompt("")
函数输入调用的。整个过程中,会打开一个prompt()
对话框,触发事件。
到底发生了什么?
应该发生什么? 中解释的所有内容都确实发生了,但不是我所期望/需要的。是的,它确实在后台发生,但在 prompt()
期间,动画 gif 似乎没有动画。是的,它将 img
更改为动画,但它不是动画,它只是暂停了。但是,一旦您退出 prompt()
框,它就会开始(或者实际上恢复)动画播放。
有什么问题?
问题是 img
在 prompt
对话框打开时不播放 gif 动画。
问题是什么?
当 prompt
对话框打开时,如何让 gif (img
) 播放/循环其动画?
注意事项
- 我以前做过这个,而且确实有效;当对话框打开并且
img
已成功更改时,动画确实播放了。但是,由于代码调试的覆盖进度,我似乎丢失了该代码。 - 我只在 Chrome 上测试过,我不确定它是 Chrome 的问题还是我的代码中的问题。
- 如您所知,我很有条理。
代码
注意:由于功能限制,我无法包含 codeSnippet
。它不会加载提示,因此无法正确使用/测试/调试。任何不便敬请谅解。这是元素的 CodePen。
最佳答案
调用提示符
时一切都暂停。直出the spec :
- Pause while waiting for the user's response.
暂停包括以下内容:
- If necessary, update the rendering or user interface of any Document or browsing context to reflect the current state.
- Wait until the condition goal is met.
如果您希望页面的其余部分继续运行,我建议您创建自己的对话框并使用回调来处理响应。
关于JavaScript Img 在提示对话框期间暂停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28697240/