我在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
错误(乘以具有preload类的元素数)。
如果从图像中删除该类,则不会显示错误。
由于
答案 0 :(得分:2)
您正在图像上执行onload事件,然后更改图像SRC,因此onload将再次触发。它处于无限循环中,因此您将获得堆栈溢出。
$('.preload').load(function(){
if($(this).attr('src') != $(this).attr("alt")){
$(this).attr('src', $(this).attr("alt"));
}
});