js 堆栈溢出

2020-09-29 社会 124阅读

目测不会有问题,也不会你想要的效果

if (s==3){t=0;}这里你写错了吧,应该是s=0;吧。obj.src=ImgName[t]; ??乱七八糟


你的代码执行流程:

1、obj.src='/images/loading.gif'; 赋值后,就等着小图标onload

2、小图标加载完成时,把图片地址改成当前图片地址,等图片onload(不会有你要的效果,小图标被替换了,缓存、网速快的话瞬间完事)

3、图片onload时,又修改地址为自身,不会触发onload了


我猜IE栈溢出是第3步的问题,改了图片地址就触发onload,不知道是什么版本IE

还有啊,图片地址用数组不好么,还搞个类多麻烦

var strimg=[];
strimg[0]="/upfile/2013-11/sfsfsf.jpg";
strimg[1]="/upfile/2013-11/sfsdfsdfsdf.jpg";
strimg[2]="/upfile/2013-11/sdfsdfsd.jpg";


要图片加载完毕前,小图标还在转的话,不要轻易覆盖掉小图标的地址,另外建个IMG加载图片

var s=0;
function imgshow(obj){
    s    obj.src='/images/loading.gif';
    var img=new Image();
    img.src=strimg[s];
    img.onload=function(){
        obj.src=img.src;//图片加载完毕后再显示
    }
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com