暂停javascript中的GIF

暂停javascript中的GIF,javascript,events,gif,Javascript,Events,Gif,Background:尝试在跨浏览器中创建GIF暂停按钮 初始实现(适用于Chrome/Safari):将gif绘制到画布并正确显示画布会“暂停”gif。但在FF和IE中,它不起作用(FF-它只显示第一帧,IE-即使使用excanvas,也显示gif动画,而不是帧) 在FF和IE中暂停GIF的功能是什么?在选定窗口的情况下按下ESC按钮,将暂停FF和IE中当前显示页面上的GIF图像 那么我想做什么呢?所以对于FF和IE,我尝试实现一些触发ESC按键的功能…我做到了…它成功地触发了ESC按键…但它

Background:尝试在跨浏览器中创建GIF暂停按钮

初始实现(适用于Chrome/Safari):将gif绘制到画布并正确显示画布会“暂停”gif。但在FF和IE中,它不起作用(FF-它只显示第一帧,IE-即使使用excanvas,也显示gif动画,而不是帧)

在FF和IE中暂停GIF的功能是什么?在选定窗口的情况下按下ESC按钮,将暂停FF和IE中当前显示页面上的GIF图像

那么我想做什么呢?所以对于FF和IE,我尝试实现一些触发ESC按键的功能…我做到了…它成功地触发了ESC按键…但它没有暂停

我所要做的就是在Firefox和IE中模拟escape按键

我尝试的

// defined before the script that calls it
jQuery.fn.simulateKeyPress = function(keyCode) {
  // Internally calls jQuery.event.trigger
  // with arguments (Event, data, elem). That last arguments is very important!
jQuery(this).trigger({ type: 'keypress', which: keyCode, keyCode: keyCode });
};
// Simulate the key press, in something called onclick of a button element
$(document).simulateKeyPress(27);
不要就上面的代码向我提供建议,因为我复制了相关的代码片段,并且我10000000%确定它可以工作,因为我将一个警报绑定到正在按下的esc,并且它在单击触发simulateKeyPress()调用的按钮时出现。只是为了表明我已经试过了


因此,基本上,模拟ESC不会像在FF和IE中按ESC那样暂停GIF,也就是说,按ESC会暂停FF和IE中的GIF,而触发27(即ESC)的按键(也尝试了按键向下)事件不会这样做。为什么?任何解决方法?

将gif帧转换为精灵图像,并通过javascript更改div的背景位置,将其设置为背景图像循环。
然后,在您选择的任何事件上中断间隔计时器将是一件简单的事情。

否。无。这是一个特定于客户端的实现细节,听起来它只响应真实的点击而不是模拟的点击。考虑另一种方法,如模拟动画(交换,画布,甚至闪存-克!),如果重要的是要动态地控制速度(或缺少速度),谢谢你让我感觉更专业。这有点令人震惊。