js等待图片加载完毕后再显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js等待图片加载完毕后再显示相关的知识,希望对你有一定的参考价值。

假如有2张图片 1.jpg 2.jpg,loading图片:loading.jpg
代码如下
<img src='1.jpg' id='bigimg'/>
<a onclick='change(this)' res='1.jpg'>第一张</a>
<a onclick='change(this)' res='2.jpg'>第二张</a>
当我点击第二张的时候,我需要获取res属性的值,并把它赋给id是bigimg的img的src这个属性,那么浏览器应该就去请求张图片,这时,我需要实现的是:如果图片还没有下载下来,img就一直显示loading.jpg图片,如果下载下来,就直接显示下载的图片,请问change这个js函数如何写?

参考技术A
function change(obj)
    var img = new Image();
    var loadimg = new Image();
    var bigimg = getElementById("bigimg");
    loadimg.src = "loading.jpg";
    bigimg.innerhtml="";
    bigimg.style.width=String(loadimg.width)+"px";
    bigimg.appendChild(loadimg);
    if(img.complete) 
        bigimg.innerHTML="";
        bigimg.style.width=String(img.width)+"px";
        bigimg.appendChild(img);
        return;
    
    img.onload = function()
        bigimg.innerHTML="";
        bigimg.style.width=String(img.width)+"px";
        bigimg.appendChild(img);
    
    img.src = obj.res;

试试~~

本回答被提问者采纳

以上是关于js等待图片加载完毕后再显示的主要内容,如果未能解决你的问题,请参考以下文章

js的加载顺序

页面加载时让其显示笼罩层与加载等待图片

JS实现图片预加载无需等待

js判断图片加载完成

js 怎么让图片加载完成后才执行下面代码

js 怎么让图片加载完成后才执行下面代码?