完全加载后显示图像

时间:2012-09-06 08:12:13

标签: php jquery html

我想在浏览器中完全加载或下载图像后加载图像。 我不想在下载图像时显示图像。相反,我希望显示该图像的较低质量版本,直到在背景中加载高质量图像,并且当图像在背景中完全加载时,我想用该图像替换较低质量的图像。

我有两张图片,比如说

$LQimage = "LQabc.jpg";

$HQimg = "HQabc.jpg";

我怎样才能让它发挥作用?

修改 随着@codebox发布的答案,这段代码有效..谢谢:)

<html>
<head>
<script type="text/javascript">
function load(){
    var img = new Image();
    var imgUrl = 'HQabc.jpg';
    img.onload = function(){
        // this gets run once the image has finished downloading
        document.getElementById('pp').src = imgUrl;
    }
    img.src = imgUrl; // this causes the image to get downloaded in the background
}
</script>
</head>
<body onload="load()">
    <img id="pp" src="LQabc.jpg" width=600/>
</body>
</html>

1 个答案:

答案 0 :(得分:3)

这应该这样做:

function preLoadImage(){
    var img = new Image();
    var imgUrl = 'HQabc.jpg';
    img.onload = function(){
        // this gets run once the image has finished downloading
        document.getElementById('idOfImgElement').src = imgUrl;
    }
    img.src = imgUrl; // this causes the image to get downloaded in the background
}

如果在页面加载后运行此功能,它应该起作用:

<body onload="preLoadImage()">