portName  不存在
没有一个叫portName   string的 id 的images
把你的protname alert 出来看看有咩有问题

解决方案 »

  1.   

    js不需要声明变量,不声明会当全局变量来用,但Array那些就得声明类型。你的代码都不完整,slot_Num、slot_PortState估计是这些代码之间有错而使获取不了正确的名称吧。
      

  2.   

    那没有 id叫 port10101 的图片呢 
      

  3.   

    我完整的代码是这样的:function initNpc_UMHF_GEI_X_4EF(slot_Num,card_Type)
    {
        var portNum=4;
        for(var i=0;i<portNum;i++)
        {
            var portName="";
            var portName1="";
            portName="port"+(10000+(100*(slot_Num+1))+(i+1));
            alert(portName);
            switch (slot_PortState[slot_Num+1][i])
            {
                case 0:
                window.document.images[portName].src=image_fiber[0].src;
                break;
                case 1:
                window.document.images[portName].src=image_fiber[1].src;
                break;
                case 2:
                window.document.images[portName].src=image_fiber[2].src;
                break;
                default:
                window.alert("Error:cardType "+card_Type+",slot "+(slot_Num+1)+",port "+(i+1)+"!");
                break;
            }
        }
    }
    这是别人的源代码,没问题:function initNpc_GEI_24EC(slot_Num,card_Type)
    {
        var portNum=24;
        for(var i=0;i<(portNum-4);i++)
        {
            var portName="";
            portName="port"+(10000+(100*(slot_Num+1))+(i+1));        if((i%2)==0)
            {
                switch (slot_PortState[slot_Num+1][i])
                {
                    case 0:
                    window.document.images[portName].src=image_copper[3].src;
                    break;
                    case 1:
                    window.document.images[portName].src=image_copper[4].src;
                    break;
                    case 2:
                    window.document.images[portName].src=image_copper[5].src;
                    break;
                    default:
                    window.alert("Error:cardType "+card_Type+",slot "+(slot_Num+1)+",port "+(i+1)+"!");
                    break;
                }
            }
            else
            {
                switch (slot_PortState[slot_Num+1][i])
                {
                    case 0:
                    window.document.images[portName].src=image_copper[0].src;
                    break;
                    case 1:
                    window.document.images[portName].src=image_copper[1].src;
                    break;
                    case 2:
                    window.document.images[portName].src=image_copper[2].src;
                    break;
                    default:
                    window.alert("Error:cardType "+card_Type+",slot "+(slot_Num+1)+",port "+(i+1)+"!");
                    break;
                }
            }
        }    for(var i=(portNum-4);i<portNum;i++)
        {
            var portName="";
            var portName1="";
            portName="port"+(10000+(100*(slot_Num+1))+(i+1));
            portName1="port"+(20000+(100*(slot_Num+1))+(i+1));        if((i%2)==0)
            {
                switch (slot_PortState[slot_Num+1][i])
                {
                    case 0:
                    window.document.images[portName].src=image_copper[3].src;
                    window.document.images[portName1].src=image_fiber[0].src;
                    break;
                    case 1:
                    window.document.images[portName].src=image_copper[4].src;
                    window.document.images[portName1].src=image_fiber[0].src;
                    break;
                    case 2:
                    window.document.images[portName].src=image_copper[5].src;
                    window.document.images[portName1].src=image_fiber[0].src;
                    break;
                    case 3:
                    window.document.images[portName].src=image_copper[3].src;
                    window.document.images[portName1].src=image_fiber[1].src;
                    break;
                    case 4:
                    window.document.images[portName].src=image_copper[3].src;
                    window.document.images[portName1].src=image_fiber[2].src;
                    break;
                    default:
                    window.alert("Error:cardType "+card_Type+",slot "+(slot_Num+1)+",port "+(i+1)+"!");
                    break;
                }
            }
            else
            {
                switch (slot_PortState[slot_Num+1][i])
                {
                    case 0:
                    window.document.images[portName].src=image_copper[0].src;
                    window.document.images[portName1].src=image_fiber[0].src;
                    break;
                    case 1:
                    window.document.images[portName].src=image_copper[1].src;
                    window.document.images[portName1].src=image_fiber[0].src;
                    break;
                    case 2:
                    window.document.images[portName].src=image_copper[2].src;
                    window.document.images[portName1].src=image_fiber[0].src;
                    break;
                    case 3:
                    window.document.images[portName].src=image_copper[0].src;
                    window.document.images[portName1].src=image_fiber[1].src;
                    break;
                    case 4:
                    window.document.images[portName].src=image_copper[0].src;
                    window.document.images[portName1].src=image_fiber[2].src;
                    break;
                    default:
                    window.alert("Error:cardType "+card_Type+",slot "+(slot_Num+1)+",port "+(i+1)+"!");
                    break;
                }
            }
        }
    }
      

  4.   

    firefox + firebug 看看在哪错
      

  5.   

    'window.document.images[...]'为空或不是对象
    都已经提示了,就是window.document.images[...]不存在,所以不能再“.src”