为了账号安全,请及时绑定邮箱和手机立即绑定

下载过来的图片高度和长度都为:0;

您好,为什么我写的代码attr("src",sourceSrc)中的src传不过来,以致图片的高度和长度都为:0;

能帮忙解释下吗,谢谢!

正在回答

3 回答

这种情况下,一般回事图片还没有加载完成就获取尺寸,还有就是图片是否已经在DOM结构里面,如果单纯创建Image对象,没有插入到页面,通常会出现这种情况,注意~~

0 回复 有任何疑惑可以回复我~
#1

yuyuda 提问者

非常感谢!
2015-07-21 回复 有任何疑惑可以回复我~
#2

天真De孩子

很多时候 在写页面的时候 需要计算图片的高度。但计算出来的都0。也就是 jq 的计算的时候 图片其实还没有加载完成 是吧! 但是 平时也没有像这样写一整套代码 有时候只判断一下图片高度 然后做出一些效果。这种情况怎么弄呢
2015-08-16 回复 有任何疑惑可以回复我~

贴出代码看下

0 回复 有任何疑惑可以回复我~
loadPicSize:function(sourceSrc){
            var self=this;
            this.preLoadImg(sourceSrc,function(){
                self.popupPic.attr("src",sourceSrc);
                var picWidth=self.popupPic.width(),
                    picHeight=self.popupPic.height();
                self.changePic(picWidth,picHeight);
            });
        },
preLoadImg:function(src,callback){
            var img=new Image();
            if(!!window.ActiveXObject){
                img.onreadystatechange=function(){
                    if (this.readyState=="complete") {
                        callback();
                    };
                };
            }else {
                img.onload=function(){
                    callback();
                };
            };
            img.src=src;
        },


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

下载过来的图片高度和长度都为:0;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信