日期:2014-05-16  浏览次数:20336 次

javascript为什么会出现这样的问题???请进。。。
我的代码中有这样一段代码:
                var   w   =0,   h   =0   ;
                var   iwidth   =   480   ,     iheight   =   500;  
                var   image=new   Image();  
                image.src=src;
                alert(image.width);
                if(image.width> iwidth)  
                {    
                        var   point   =   image.height/image.width;  
                        w   =   iwidth;
                        h=   iwidth*point;  
                        if(h> iheight)
                        {
                                var   p1   =   image.width/image.height;
                                h   =   iheight;
                                w   =   iheight*p1;
                        }
                        arr   +=   '   width=\ " '     +   w   +   '\ "   height=\ " '   +   h   +   '\ " '   ;
                }  
---------------------------------
当运行的时候,alert(image.width)语句显示的是0,有时候却能正确显示图片的宽度值。请问这是为什么呢??

------解决方案--------------------
帮顶
------解决方案--------------------
src 是什么啊
image.src=src; 怎么src没有赋值呢?

-----------------------------------------------
msn:bdbox@hotmail.com
请给我个与您交流的机会
------解决方案--------------------
image.src=src;

image.onload =
function()
{
// command go here
}


图片未加载完毕...
------解决方案--------------------
image.src=src; 只是指定,还没载入,所以你第一次运行显示0,第二次就能正确显示

换成下面这个:
(function() {img.src =src;})();
------解决方案--------------------

image.src=src 为已经指定目标, 并开始载入...
------解决方案--------------------
应该是 image 的 onload 事件里去得到宽度.
只有等图片载入OK后,宽度才有值.不然就是0