JQuery:成功加载时显示图像并与onload冲突

时间:2011-05-19 13:00:29

标签: javascript jquery cross-browser

我想只在成功加载图像时显示图像(某些路径给出404)。 有以下代码,工作正常。

<script>
    $(document).ready(function() {
      $(".complex-image").load(function(){
          $(this).show();
      });
    });
</script>

现在,其中一个页面显示了一个谷歌地图,其中设置了:

onload = initMap
onunload = GUnload

在IE8和Chrome的此页面上,即使可用,图像也显示。但在Firefox 4中显示正常。我网站上有图像+地图的示例页面为this

我也尝试过反向方法:在加载错误时隐藏图像。使用以下代码:

<script>
    $(document).ready(function() {
      $(".complex-image").ready(function(){
          $(this).hide();
      });
    });
</script>

这不会在地图和非地图包含页面上隐藏IE8上的图像。

什么是跨浏览器方式在成功加载时显示图像,当定义了主体onload时?

编辑:使用Elzo的解决方案,即使从缓存中读取图像,也会触发img.load(),使用此方法: jQuery callback on image load (even when the image is cached)

1 个答案:

答案 0 :(得分:4)

Here is how to do it.我还提了demo