1

我有一个画廊,我很快就为一个小网站编写了代码,在 Firefox 3 和 Safari 3 下运行良好。但是当我在我最好的老朋友 IE7 上进行测试时,它似乎没有触发 imageVar.onload = function() { // code here }.. 我想用它来停止加载效果并加载图像。

请记住...

  • 我知道缩略图只是较大图像的缩小版本。当客户最终确定图像时,我将创建适当的缩略图。
  • 这是我第一次尝试在大多数情况下摆脱程序化 JavaScript。所以请放轻松,请让我知道我的代码哪里糟糕!
4

3 回答 3

5

为了成功使用 Image.onload,您必须在设置 src 属性之前注册事件处理程序方法。

本题相关信息:

用于图像加载的 Javascript 回调

于 2008-11-21T00:26:15.710 回答
2

由于实现差异,跨浏览器事件支持并不那么简单。由于您在站点上使用 jQuery,因此最好使用它的事件方法来规范浏览器支持:

代替:

 window.load = function(){ 
      //actions to be performed on window load
 }

 imageViewer.image.onload = function(){ 
     //actions to be performed on image load
 }

做:

$(window).load(function(){ 
    //actions to be performed on window load
});

 $(imageViewer.image).load(function(){ 
      //actions to be performed on image load
 });
于 2008-11-21T00:23:58.897 回答
0

只是为了添加 Eran 的建议以使用 jQuery 的内置事件处理程序,您可以在加载文档并创建 DOM 但在下载图像之前运行代码:

$(document).ready(function(){
   //your code
});
于 2008-11-21T00:28:06.970 回答