js的image onload事件使用遇到的问题

关于 Image 对象 onload 事件。

想获取的是 image 的 宽高值。所以用 onload 方法。另外是获取的远程图片。

但IE在第二次显示图片的时候,总是不走 onload 方法。代码:

var img = new Image();
img.src = "loading.gif";
img.onload = function(){
var iheight = img.height;
var iwidth = img.width;
};

后来给xiaoniu同学看了后才知,img.src 应该是放在 onload 方法后边的。。

后来google下,才发现原来此类问题大家多有总结。。我真是外行。。

因为 IE 在加载缓冲区数据的时候,没有触发 onload 方法,导致该事件内代码被忽略。FF 在加载缓冲区数据的时候,顺带触发了 onload 方法。

其实还有点,就是onload的时候还要对图片进行自适应调整,就发现,需要再 onload 里还要对元素设置一次img.src。。。要不它只记得第一张图。。。

对这个缓存区还是一知半解。继续。

(0)

相关推荐

  • js的image onload事件使用遇到的问题

    关于 Image 对象 onload 事件. 想获取的是 image 的 宽高值.所以用 onload 方法.另外是获取的远程图片. 但IE在第二次显示图片的时候,总是不走 onload 方法.代码: var img = new Image(); img.src = "loading.gif"; img.onload = function(){ var iheight = img.height; var iwidth = img.width; }; 后来给xiaoniu同学看了后才知,

  • 引用其它js时如何同时处理多个window.onload事件

    有时引用其它js时,其js却使用了window.onload事件,这样的话,引入的页面的onload事件就有可能执行不了,怎样才能两个都运行呢?除了将两个写到一块儿去的方法外,还有其他的方法 if(window.onload!=null){ eval("theOldFun="+window.onload.toString()); window.onload=function(){theOldFun();addReadResource();}; } eval()函数的作用: 它的功能是把

  • js之onload事件的一点使用心得

    如果我问你window.load和window.onload分别是什么意思,恐怕你会回答我:"这不是页面加载完就执行吗". 但是答案是不一定,得看你怎么用.看一下例子吧 例1: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Untitled</title> <

  • js onload事件不起作用示例分析

    前一段事件遇到一个奇怪的问题,jsp页面中写一个onload事件,发现居然不起作用,查看源文件,bady的onload后居然没有方法名??? <body onload="这里居然是空的" bottommargin="0" leftmargin="0" topmargin="0" rightmargin="0"> 百思不得其解, 于是试验 复制代码 代码如下: </body> <

  • js动态添加onload、onresize、onscroll事件(另类方法)

    window 的 onload.onresize.onscroll 事件,跟其他的事件不一样,它不能用 attachEvent 或 addEventListener 来添加. 也就是说,它只能这样来(以 onload 为例,下同): 复制代码 代码如下: window.onload = function() { // ... }; 但这有个问题,就是想再为 onload 增加新的事件处理程序时,不能直接为 window.onload 赋值了,否则前面的赋值就会被覆盖了. 可这样做: 复制代码 代

  • js的onload事件及初始化按钮事件示例代码

    大家常见的肯定都是<body onload=""> 这种用法.其实,不仅可以在body 上用它还支持多个HTML标签.用法如下: onload事件当一个页面或是一张图片加载完成时被触发. 所支持的HTML标签: <body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script> 实例: 第一种方法 复制代码 代码如下: <BOD

  • js 动态加载事件的几种方法总结

    有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添加事件,这就涉及到浏览器兼容性问题了,以下谈及的几种方法,我们也常常混合使用. 方法一.setAttributevar obj = document.getElementById("obj");obj.setAttribute("onclick", "javascript:alert('测试');"); 这里利用 setAttribute 指定 onclick 属

  • js闭包引起的事件注册问题介绍

    背景:闲暇时间看了几篇关于js作用域链与闭包的文章,偶然又看到了之前遇到的一个问题,就是在for循环中为dom节点注册事件驱动,具体见下面代码: <!DOCTYPE html> <html> <head> <title>js闭包</title> <meta charset="utf-8" /> </head> <body> <button id="anchor1"&

  • 全面解析jQuery $(document).ready()和JavaScript onload事件

    对元素的操作和事件的绑定需要等待一个合适的时机,可以看下面的例子: <!DOCTYPE html> <meta charset="utf-8"> <html> <head> <title>1-1</title> <script type="text/javascript"> document.getElementById("panel").onclick = fu

  • 图片onload事件触发问题解决方法

    并且随页面大小的不同情况时好时坏,甚至代码位置的不同而不同. 火狐下一切正常. 解决办法是再onload触发前改变图片src的值,也就是相当于图片开始时有个临时的占位图片,页面载入过程中用js换成实际需要的src,只要每次onload事件触发前src发生变化,则onload表现正常.

随机推荐