我有一个网页,里面有一张图片。但是图像会在页面打开几秒钟后加载。我想在图像尚未加载时显示加载 gif,然后每 2 秒检查一次图像是否已加载。加载图像后,我想用图像替换加载 gif。我编写了以下代码:
<script language="javascript" type="text/javascript">
function checkImage(src) {
var img = new Image();
img.onload = function () {
// code to set the src on success
$('#img1').attr('src', 'imageOriginal.jpg');
$('#img1').removeAttr('width');
clearInterval(interval);
};
img.onerror = function () {
countErrors = countErrors + 1;
};
img.src = src; // fires off loading of image
}
var interval;
var countErrors = 0;
$(document).ready(function () {
$('#img1').attr('width', '620px');
interval = window.setInterval(function () { checkImage('imageOriginal.jpg?id=' + countErrors); }, 2000);
});
</script>
<img borderstyle="solid" bordercolor="black" borderwidth="1px" id="img1" alt="Screenshot" style="max-width:620px;" src="loading.gif" />
它有时有效,有时无效。我什至添加了一个 id 参数来防止缓存。但是即使图像已经加载,也会显示加载 gif。我该如何解决这个问题?