【发布时间】:2011-08-21 12:04:47
【问题描述】:
我在一个页面上有许多动画 .gif。我需要一个可以冻结这些 .gif 动画的脚本或代码,这样它们就不会在第一帧上设置动画和冻结。
目前的背景是这样的表格单元格背景:
<td background="animated_background_1.gif">
和
<td style="background-image:url('animated_background_2.gif');">
【问题讨论】:
-
我不认为这可以在 CSS/JS 中完成。您可以做的最好的事情是在 PHP 中提取第一帧(并缓存它),然后像当前使用 gif 一样使用它。这样一来,您将解决您的问题,并且您还将减少带宽消耗,因为单帧 gif 应该比整个动画 gif 文件小得多。
-
我能想到的就是当您上传动画时创建一个静态
gif并使用javascript替换所需事件上的两个图像 -
我记得在过去,动画 GIF 支持是浏览器中的一项新功能,当页面已经加载时,您可以通过点击停止按钮来停止动画。我怀疑浏览器仍然会这样做,而且在我所知道的 JS/CSS/HTML 中肯定没有办法阻止 GIF 动画,而不是首先不使用动画 GIF。通常,您应该避免使用动画 GIF,除非实际需要动画。否则,您只是在浪费带宽。
-
@GordonM,在 FF3.5 中,加载页面的“停止”按钮被禁用,但您可以按 Esc 键停止 gif 动画。不过,这是最终用户(而不是程序员)可以做的事情,并且在第一帧停止所有动画的机会很小;)
-
更新之前的评论:FF 3.6 具有该功能。不知道 3.5,因为我没有安装它。
标签: php javascript html gif