当您单击“停止”按钮或通过 Escape 键调用它时,Firefox(以及我相信的其他浏览器)会停止 gif 动画。

我有一个文本输入,在更改时会发出 ajax 请求以更新其他元素。作为这种ajaxyness的一部分,我有一个动画gif来显示反馈。
我还在此输入中捕获了转义键,以便清除文本字段以获得更好的用户体验。

我的问题是,一旦按了退出键,所有ajax gif都不会再进行动画处理,直到刷新页面为止。有谁知道解决方法?

我试过的东西:

我在处理 e.stopPropagation(); 的函数中尝试了 e.cancelBubble = true;e.keyCode == 27 ,但似乎没有用。我怀疑这会停止触发更多的 js 事件,并且无论 js 事件如何,浏览器都会捕获逃逸。

我通过添加/删除 css 类来显示/隐藏 gif,因此很难应用“更改 gif url 以重置”解决方法。我什至不知道这是否有效 - 没有测试它。但似乎很难。如果有人知道这可行并且知道使用 background-image: url(../images/ajax-loader_dotcirclel13x13.gif); css 应用 hack 的简单方法,请告诉我。

最佳答案

不幸的是,当按下 ESC 键时,您无法覆盖浏览器停止动画 gif 的事实。我认为这是为了让用户总是有能力停止烦人的动画 gif,如果它们变得过于强大(我不是说你的加载 gif 很烦人;))。这个 page 描述了如何在 FF 中一起禁用它们。

我建议使用 JavaScript 来创建一个简单的动画。您甚至可以使用包含 gif 动画中的所有帧的 Sprite 来完成此操作,并且只需为每一帧移动背景位置即可。

关于jquery - 浏览器:按下转义后继续 gif 动画,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2912053/

10-12 00:05
查看更多