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

假如有2张图片1.jpg2.jpg,loading图片:loading.jpg代码如下<imgsrc='1.jpg'id='bigimg'/><aonclick='cha... 假如有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函数如何写?
展开
 我来答
百度网友a353b9ec7
推荐于2017-09-23 · TA获得超过153个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:158万
展开全部

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;
}

试试~~

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式