惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
V
V2EX
博客园 - 【当耐特】
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
量子位
MyScale Blog
MyScale Blog
Hugging Face - Blog
Hugging Face - Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
月光博客
月光博客
I
InfoQ
WordPress大学
WordPress大学
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
爱范儿
爱范儿
小众软件
小众软件
罗磊的独立博客
Recent Announcements
Recent Announcements
Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - Ricebug

android SDK下载及中文API地址 怎么让我们自己开发的Android程序设为默认启动 在android 中开发java.net.SocketException: socket failed: EACCES (Permission denied) 报错 Eclipse 安装中文插件 Android开发环境搭建(jdk+eclip+android sdk) JS innerHTML Double Quotes 正则表达式有无g参数时,test()结果的差异 [转载]分享8个超棒的免费高质量图标搜索引擎 平时技巧收集 ActionScript3.0平铺由外部加载的图片 - Ricebug - 博客园 截取中英文字符串 BulkLoader类使用 Asp.net缓存动态图片 JS文件传参及处理技巧 [原创]jQuery动画弹出窗体支持多种展现方式 JQuery上传插件Uploadify使用详解及错误处理 [原创]jQuery插件处女座--超链接滑动动画 js页面定位,相关几个属性 全国哀悼日 网站变灰装(附代码)
IE处理GIF动画图片onload事件的一个BUG
Ricebug · 2011-01-17 · via 博客园 - Ricebug

在IE中,如果新建一个image对象,然后添加onload事件加载一个GIF动画图片时,onload执行方法会重复执行,而在除IE外的浏览器就没有这个问题。

<script type="text/javascript">
var img = new Image();
img.src
= "test.gif";
img.onload
= function(){
alert(
"这里会重复弹出!");
}
</script>

经过研究发现,出现这种原因是因为GIF动画里有多个帧,每个帧都会触发一次onload事件,所以会一直执行onload的方法,知道了病因解决起来就简单了。

<script type="text/javascript">
var img = new Image();
img.src
= "test.gif";
img.onload
= function(){
alert(
"加载完成,只弹一次");
img.onload
= null; //关键点就是这了
}
</script>

加载完成后要把onload事件赋为null,这样img动画到下一帧时就没有onload事件可触发了。