在javascript中暂停GIF

时间:2012-03-14 02:08:22

标签: javascript events gif

背景:尝试制作GIF暂停按钮,跨浏览器

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

在FF和IE中暂停GIF是什么?在选择了窗口的情况下按ESC按钮会在FF和IE中暂停当前显示页面上的GIF图像

那我该怎么做?所以对于FF和IE,我试图实现一些触发ESC按键的东西......我做了......它成功触发了一个ESC按键...但它不会暂停GIF。

我想要做的就是模拟Firefox和IE中的转义按键。

我尝试了什么

// 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并没有按照ESC在FF和IE中的做法,关于暂停GIF - 即按下ESC暂停ff中的gif,即触发按键(也尝试了keydown)事件27 (这是ESC)不这样做。为什么?任何解决办法???

1 个答案:

答案 0 :(得分:1)

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