2

我在 jQuery 1.7.2 上有一个小脚本。本质上,它显示缩略图,然后在加载后被完整图像替换。

<img src="http://site.com/thumbnail.jpg" data-original="http://site.com/original.jpg"  class="preload">

在 jQuery 中,我只有:

$('.preload').load(function(){

     $(this).attr('src', $(this).attr("data-original"));

});

这在 Firefox、Chrome 甚至 IE8 等浏览器上运行良好。但是,IE7会继续抛出一个

Stack overflow at line: 0

错误(乘以具有预加载类的元素数)。

如果我从图像中删除类.. 错误不会显示。

谢谢

4

1 回答 1

2

您正在对图像执行 onload 事件,然后更改图像 SRC,以便 onload 将再次触发。它处于无限循环中,因此您会遇到堆栈溢出。

  $('.preload').load(function(){
    if($(this).attr('src') != $(this).attr("alt")){
         $(this).attr('src', $(this).attr("alt"));
    }
  });
于 2012-07-05T17:14:01.443 回答