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

请记住...

  • 我知道缩略图只是大图像的缩小版。当客户最终确定图像后,我将创建适当的缩略图。
  • 这是我第一次尝试摆脱过程式 JavaScript 的大部分影响。所以请放轻松并让我知道我的代码哪里糟糕!
有帮助吗?

解决方案

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

本问题的相关信息:

用于图像加载的 JavaScript 回调

其他提示

由于实现差异,跨浏览器事件支持并不是那么简单。由于您在站点上使用 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
 });

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

$(document).ready(function(){
   //your code
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top