Avatar billede Poulgam Nybegynder
04. maj 2010 - 21:40 Der er 3 kommentarer og
1 løsning

Fejl i dropdown-menuen i IE8 og Chrome

Jeg har hjemmeide www.boligoekonomen.dk ,hvor jeg for flere år siden hentede en dropdown menu fra dynamic drive. I IE7 ser menulinien fin ud, men efter, at jeg er gået over til IE8, så er der nogle små fejltegn i menuen. Jeg har ikke ændret i scriptfilerne, men jeg ved ikke om der er fejl i dem eller hvad det skyldes.


Scriptfilerne er følgende:

    var NoOffFirstLineMenus=7            // Number of first level items
    var LowBgColor='darkblue';                // Background color when mouse is not over
    var LowSubBgColor='darkblue';            // Background color when mouse is not over on subs
    var HighBgColor='darkblue';            // Background color when mouse is over
    var HighSubBgColor='darkblue';            // Background color when mouse is over on subs
    var FontLowColor='white';            // Font color when mouse is not over
    var FontSubLowColor='white';            // Font color subs when mouse is not over
    var FontHighColor='#99CCFF';            // Font color when mouse is over
    var FontSubHighColor='#99CCFF';            // Font color subs when mouse is over
    var BorderColor='#ffffcc';            // Border color
    var BorderSubColor='black';            // Border color for subs
    var BorderWidth=1;                // Border width
    var BorderBtwnElmnts=0;                // Border between elements 1 or 0
    var FontFamily="arial"    // Font family menu items
    var FontSize=9;                    // Font size menu items
    var FontBold=0;                    // Bold menu items 1 or 0
    var FontItalic=0;                // Italic menu items 1 or 0
    var MenuTextCentered='left';            // Item text position 'left', 'center' or 'right'
    var MenuCentered='center';            // Menu horizontal position 'left', 'center' or 'right'
    var MenuVerticalCentered='top';            // Menu vertical position 'top', 'middle','bottom' or static
    var ChildOverlap=.2;                // horizontal overlap child/ parent
    var ChildVerticalOverlap=.2;            // vertical overlap child/ parent
    var StartTop=0;                  // Menu offset x coordinate
    var StartLeft=0;                // Menu offset y coordinate
    var VerCorrect=0;                // Multiple frames y correction
    var HorCorrect=0;                // Multiple frames x correction
    var LeftPaddng=1;                // Left padding
    var TopPaddng=2;                // Top padding
    var FirstLineHorizontal=0;            // SET TO 1 FOR HORIZONTAL MENU, 0 FOR VERTICAL
    var MenuFramesVertical=0;            // Frames in cols or rows 1 or 0
    var DissapearDelay=1000;            // delay before menu folds in
    var TakeOverBgColor=1;            // Menu frame takes over background color subitem frame
    var FirstLineFrame='TopMenu';            // Frame where first level appears
    var SecLineFrame='MainFrame';            // Frame where sub levels appear
    var DocTargetFrame='MainFrame';            // Frame where target documents appear
    var TargetLoc='';                // span id for relative positioning
    var HideTop=0;                // Hide first level when loading new document 1 or 0
    var MenuWrap=1;                // enables/ disables menu wrap 1 or 0
    var RightToLeft=0;                // enables/ disables right to left unfold 1 or 0
    var UnfoldsOnClick=0;            // Level 1 unfolds onclick/ onmouseover
    var WebMasterCheck=0;            // menu tree checking on or off 1 or 0
    var ShowArrow=1;                // Uses arrow gifs when 1
    var KeepHilite=1;                // Keep selected path highligthed
    var Arrws=['tri.gif',5,10,'',10,5,'trileft.gif',5,10];    // Arrow source, width and height
//    var Arrws=['tri.gif',5,10,'pilned.gif',10,5,'trileft.gif',5,10];    // Arrow source, width and height

function BeforeStart(){return}
function AfterBuild(){return}
function BeforeFirstOpen(){return}
function AfterCloseAll(){return}


// Menu tree
//    MenuX=new Array(Text to show, Link, background image (optional), number of sub elements, height, width);
//    For rollover images set "Text to show" to:  "rollover:Image1.jpg:Image2.jpg"



Menu1=new Array("","","",0,20,600);


Menu2=new Array("Eksempler","","",4,20,100);
    Menu2_1=new Array("Rådgiving eller salg?","eksempel1.htm","",0,20,160);   
    Menu2_2=new Array("Overblik over lånemarkedet","eksempel2.htm","",0,20,160);   
    Menu2_3=new Array("Konvertering og gode råd","eksempel3.htm","",0,20,160);   
    Menu2_4=new Array("Belån friværdien","eksempel4.htm","",0,20,160);   



Menu3=new Array("Finansiering","","",6,20,100);
    Menu3_1=new Array("Realkredit","realkredit.htm","",6,20,130);   
    Menu3_1_5=new Array("Kontanthandel","kontanthandel.htm","",0,20,170);
    Menu3_1_6=new Array("Finansieret handel","finansieret_handel.htm","",0,20,170);
    Menu3_1_1=new Array("Obligationslån med fast rente","obligationslaan.htm","",0,20,170);
    Menu3_1_2=new Array("Kontantlån med fast rente","kontantlaan_med_fast_rente.htm","",0,20,170);
    Menu3_1_3=new Array("Rentetilpasningslån","laan_med_variabel_rente.htm","",0,20,170);
    Menu3_1_4=new Array("Lån med renteloft","laan_med_renteloft.htm","",0,20,170);
    Menu3_4=new Array("Boliglån i banken","boliglaan_i_banken.htm","",0,20,130);
    Menu3_5=new Array("Sælgerpantebrev","saelgerpantebrev.htm","",0,20,130);
    Menu3_6=new Array("Nedsparing","nedsparing.htm","",0,20,130);
    Menu3_3=new Array("Prioritetslån i banken","boligkassekredit.htm","",0,20,130);
    Menu3_2=new Array("SDO","SDO_saerligt_daekkede_obligationer.htm","",0,20,130);   
   
Menu4=new Array("Konvertering","","",4,20,100);
    Menu4_1=new Array("Generelt","konvertering_generelt.htm","",0,20,80);   
    Menu4_2=new Array("Op","op.htm","",0,20,80);   
    Menu4_3=new Array("Ned","ned.htm","",0,20,80);
    Menu4_4=new Array("Skrå","skraa.htm","",0,20,80);

Menu5=new Array("Optimale lån","","",6,20,100);
    Menu5_1=new Array("Valg af lån","valg_af_laan.htm","",0,20,90);   
    Menu5_2=new Array("Fremtidsplaner","fremtidsplaner.htm","",0,20,90);
    Menu5_3=new Array("Restgælden","restgaeld.htm","",0,20,90);
    Menu5_4=new Array("Likviditet","likviditet.htm","",0,20,90);   
    Menu5_5=new Array("Rentabilitet","rentabilitet.htm","",0,20,90);
    Menu5_6=new Array("Omkostninger","omkostninger.htm","",0,20,90);
       
Menu6=new Array("Rådgivning","","",8,20,100);
    Menu6_1=new Array("Fordele","raadgivning_fordele.htm","",0,20,130);
    Menu6_2=new Array("Anbefalinger","anbefaling_boligraadgivning.htm","",0,20,130);
    Menu6_3=new Array("Populære spørgsmål","spoergsmaal.htm","",0,20,130);
    Menu6_4=new Array("Adresse - Tlf. - Kort","kontakt.htm","",0,20,130);
    Menu6_5=new Array("Pris","pris.htm","",0,20,130);   
    Menu6_6=new Array("Vilkår","raadgivning_vilkaar_og_betingelser.htm","",0,20,130);
    Menu6_7=new Array("Medieomtale","boligraadgivning.htm","",0,20,130);   
    Menu6_8=new Array("Foredrag","foredrag.htm","",0,20,130);
   


Menu7=new Array("","","",0,20,600);




********Den anden scriptfil ser sådan ud:





    var AgntUsr=navigator.userAgent.toLowerCase();
    var AppVer=navigator.appVersion.toLowerCase();
    var DomYes=document.getElementById?1:0;
    var NavYes=AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1?1:0;
    var ExpYes=AgntUsr.indexOf('msie')!=-1?1:0;
    var Opr=AgntUsr.indexOf('opera')!=-1?1:0;
    var Opr6orless=window.opera && navigator.userAgent.search(/opera.[1-6]/i)!=-1 //DynamicDrive.com added code
    if(Opr){NavYes=1;ExpYes=0;}
    var DomNav=DomYes&&NavYes?1:0;
    var DomExp=DomYes&&ExpYes?1:0;
    var Nav4=NavYes&&!DomYes&&document.layers?1:0;
    var Exp4=ExpYes&&!DomYes&&document.all?1:0;
    var Exp6Plus=(AppVer.indexOf("msie 6")!= -1||AppVer.indexOf("msie 7")!= -1)?1:0
    var PosStrt=(NavYes||ExpYes||Opr)&&!Opr6orless?1:0;
    var P_X=DomYes?"px":"",FHtml=null,ScHtml=null,FCmplnt=0,SCmplnt=0;
    var FrstLoc,ScLoc,DcLoc;
    var ScWinWdth,ScWinHght,FrstWinWdth,FrstWinHght;
    var ScLdAgainWin;
    var FirstColPos,SecColPos,DocColPos;
    var RcrsLvl=0;
    var FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=1;
    var FrstCntnr=null,CurrntOvr=null,CloseTmr=null;
    var CntrTxt,TxtClose,ImgStr;
    var Ztop=100;
    var ShwFlg=0;
    var M_StrtTp=StartTop,M_StrtLft=StartLeft;
    var StaticPos=0;
    var M_Hide=Nav4?'hide':'hidden';
    var M_Show=Nav4?'show':'visible';
    var Par=parent.frames[0]&&FirstLineFrame!=SecLineFrame?parent:window;
    var Doc=Par.document;
    var Bod=Doc.body;
    var Trigger=NavYes&&!Opr?Par:Bod;

    MenuTextCentered=MenuTextCentered==1||MenuTextCentered=='center'?'center':MenuTextCentered==0||MenuTextCentered!='right'?'left':'right';

    WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs width: "];

    if(Trigger.onload)Dummy=Trigger.onload;
    Trigger.onload=Go;

function Dummy(){return}

function CnclSlct(){return false}

function RePos(){
    FrstWinWdth=ExpYes?FCmplnt?FHtml.clientWidth:FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
    FrstWinHght=ExpYes?FCmplnt?FHtml.clientHeight:FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
    ScWinWdth=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
    ScWinHght=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
    if(MenuCentered=='justify'&&FirstLineHorizontal){
        FrstCntnr.style.width=FrstWinWdth+P_X;
        var LftXtra=(DomNav&&!Opr)||FCmplnt?LeftPaddng:0;
        ClcJus();
        var P=FrstCntnr.FrstMbr,W=Menu1[5],i;
        for(i=0;i<NoOffFirstLineMenus;i++){P.style.width=W+P_X;P=P.PrvMbr}}
    StaticPos=-1;
    if(TargetLoc)ClcTrgt();
    if(MenuCentered)ClcLft();
    if(MenuVerticalCentered)ClcTp();
    PosMenu(FrstCntnr,StartTop,StartLeft)}

function UnLoaded(){
    if(CloseTmr)clearTimeout(CloseTmr);
    Loadd=0; Creatd=0;
    if(HideTop){
        var FCStyle=Nav4?FrstCntnr:FrstCntnr.style;
        FCStyle.visibility=M_Hide}}

function ReDoWhole(){
    if(ScWinWdth!=ScLoc.innerWidth||ScWinHght!=ScLoc.innerHeight||FrstWinWdth!=FrstLoc.innerWidth||FrstWinHght!=FrstLoc.innerHeight)Doc.location.reload()}

function Check(WMnu,NoOf){
    var i,array,ArrayLoc;
    ArrayLoc=parent.frames[0]?parent.frames[FirstLineFrame]:self;
    for(i=0;i<NoOf;i++){
        array=WMnu+eval(i+1);
        if(!ArrayLoc[array]){WbMstrAlrt(0,array); return false}
        if(i==0){    if(!ArrayLoc[array][4]){WbMstrAlrt(1,array); return false}
            if(!ArrayLoc[array][5]){WbMstrAlrt(2,array); return false}}
        if(ArrayLoc[array][3])if(!Check(array+'_',ArrayLoc[array][3])) return false}
    return true}

function WbMstrAlrt(No,Xtra){
    return confirm(WbMstrAlrts[No]+Xtra+'  ')}

function Go(){
    Dummy();
    if(Loadd||!PosStrt)return;
    BeforeStart();
    Creatd=0; Loadd=1;
    status='Building menu';
    if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
        FirstLineFrame=SecLineFrame;
        if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
            FirstLineFrame=SecLineFrame=DocTargetFrame;
            if(FirstLineFrame =="" || !parent.frames[FirstLineFrame])FirstLineFrame=SecLineFrame=DocTargetFrame=''}}
    if(SecLineFrame =="" || !parent.frames[SecLineFrame]){
        SecLineFrame=DocTargetFrame;
        if(SecLineFrame =="" || !parent.frames[SecLineFrame])SecLineFrame=DocTargetFrame=FirstLineFrame}
    if(DocTargetFrame =="" || !parent.frames[DocTargetFrame])DocTargetFrame=SecLineFrame;
    if(WebMasterCheck){    if(!Check('Menu',NoOffFirstLineMenus)){status='build aborted';return}}
    FrstLoc=FirstLineFrame!=""?parent.frames[FirstLineFrame]:window;
    ScLoc=SecLineFrame!=""?parent.frames[SecLineFrame]:window;
    DcLoc=DocTargetFrame!=""?parent.frames[DocTargetFrame]:window;
    if (FrstLoc==ScLoc) AcrssFrms=0;
    if (AcrssFrms)FirstLineHorizontal=MenuFramesVertical?0:1;
    if(Exp6Plus||Opr){
        FHtml=FrstLoc.document.getElementsByTagName("HTML")[0];ScHtml=ScLoc.document.getElementsByTagName("HTML")[0];
        FCmplnt=FrstLoc.document.compatMode.indexOf("CSS")==-1?0:1;SCmplnt=ScLoc.document.compatMode.indexOf("CSS")==-1?0:1}
    FrstWinWdth=ExpYes?FCmplnt?FHtml.clientWidth:FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
    FrstWinHght=ExpYes?FCmplnt?FHtml.clientHeight:FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
    ScWinWdth=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
    ScWinHght=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
    if(Nav4){    CntrTxt=MenuTextCentered!='left'?"<div align='"+MenuTextCentered+"'>":"";
        TxtClose="</font>"+MenuTextCentered!='left'?"</div>":""}
    FirstColPos=Nav4?FrstLoc.document:FrstLoc.document.body;
    SecColPos=Nav4?ScLoc.document:ScLoc.document.body;
    DocColPos=Nav4?DcLoc.document:ScLoc.document.body;
    if (TakeOverBgColor)FirstColPos.bgColor=AcrssFrms?SecColPos.bgColor:DocColPos.bgColor;
    if(MenuCentered=='justify'&&FirstLineHorizontal)ClcJus();
    if(FrstCreat){
        FrstCntnr=CreateMenuStructure('Menu',NoOffFirstLineMenus);
        FrstCreat=AcrssFrms?0:1}
    else CreateMenuStructureAgain('Menu',NoOffFirstLineMenus);
    if(TargetLoc)ClcTrgt();
    if(MenuCentered)ClcLft();
    if(MenuVerticalCentered)ClcTp();
    PosMenu(FrstCntnr,StartTop,StartLeft);
    IniFlg=1;
    Initiate();
    Creatd=1;
    if (AcrssFrms){
        ScLdAgainWin=ExpYes?ScLoc.document.body:ScLoc;
        ScLdAgainWin.onunload=UnLoaded}
    Trigger.onresize=Nav4?ReDoWhole:RePos;
    AfterBuild();
    if(MenuVerticalCentered=='static'&&!AcrssFrms)setInterval('KeepPos()',250);
    status='Menu ready for use'}

function KeepPos(){
    var TS=ExpYes?SCmplnt?ScHtml.scrollTop:FrstLoc.document.body.scrollTop:FrstLoc.pageYOffset;
    if(TS!=StaticPos){
        var FCStyle=Nav4?FrstCntnr:FrstCntnr.style;
        FrstCntnr.OrgTop=StartTop+TS;StaticPos=TS;
        FCStyle.top=FrstCntnr.OrgTop+P_X}}

function ClcJus(){
    var a=BorderBtwnElmnts?1:2,b=BorderBtwnElmnts?BorderWidth:0;
    var Size=Math.round(((FrstWinWdth-a*BorderWidth)/NoOffFirstLineMenus)-b),i,j;
    for(i=1;i<NoOffFirstLineMenus+1;i++){j=eval('Menu'+i);j[5]=Size}
    StartLeft=0}

function ClcTrgt(){
    var TLoc=Nav4?FrstLoc.document.layers[TargetLoc]:DomYes?FrstLoc.document.getElementById(TargetLoc):FrstLoc.document.all[TargetLoc];
    StartTop=M_StrtTp;
    StartLeft=M_StrtLft;
    if(DomYes){
        while(TLoc){StartTop+=TLoc.offsetTop;StartLeft+=TLoc.offsetLeft;TLoc=TLoc.offsetParent}}
    else{    StartTop+=Nav4?TLoc.pageY:TLoc.offsetTop;StartLeft+=Nav4?TLoc.pageX:TLoc.offsetLeft}}

function ClcLft(){
    if(MenuCentered!='left'&&MenuCentered!='justify'){
        var Size=FrstWinWdth-(!Nav4?parseInt(FrstCntnr.style.width):FrstCntnr.clip.width);
        StartLeft=M_StrtLft;
        StartLeft+=MenuCentered=='right'?Size:Size/2}}

function ClcTp(){
    if(MenuVerticalCentered!='top'&&MenuVerticalCentered!='static'){
        var Size=FrstWinHght-(!Nav4?parseInt(FrstCntnr.style.height):FrstCntnr.clip.height);
        StartTop=M_StrtTp;
        StartTop+=MenuVerticalCentered=='bottom'?Size:Size/2}}

function PosMenu(CntnrPntr,Tp,Lt){
    RcrsLvl++;
    var Cmplnt=RcrsLvl==1?FCmplnt:SCmplnt;
    var LftXtra=(DomNav&&!Opr)||Cmplnt?LeftPaddng:0;
    var TpXtra=(DomNav&&!Opr)||Cmplnt?TopPaddng:0;
    var Topi,Lefti,Hori;
    var Cntnr=CntnrPntr;
    var Mmbr=Cntnr.FrstMbr;
    var CntnrStyle=!Nav4?Cntnr.style:Cntnr;
    var MmbrStyle=!Nav4?Mmbr.style:Mmbr;
    var PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
    var PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
    var MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
    var MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
    var CntnrWt=!Nav4?parseInt(CntnrStyle.width):CntnrStyle.clip.width;
    var CntnrHt=!Nav4?parseInt(CntnrStyle.height):CntnrStyle.clip.height;
    var SubTp,SubLt;
    if (RcrsLvl==1 && AcrssFrms)!MenuFramesVertical?Tp=FrstWinHght-CntnrHt+(Nav4?4:0):Lt=RightToLeft?0:FrstWinWdth-CntnrWt+(Nav4?4:0);
    if (RcrsLvl==2 && AcrssFrms)!MenuFramesVertical?Tp=0:Lt=RightToLeft?ScWinWdth-CntnrWt:0;
    if (RcrsLvl==2 && AcrssFrms){Tp+=VerCorrect;Lt+=HorCorrect}
    CntnrStyle.top=RcrsLvl==1?Tp+P_X:0;
    Cntnr.OrgTop=Tp;
    CntnrStyle.left=RcrsLvl==1?Lt+P_X:0;
    Cntnr.OrgLeft=Lt;
    if (RcrsLvl==1 && FirstLineHorizontal){
        Hori=1;Lefti=CntnrWt-MmbrWt-2*BorderWidth;Topi=0}
    else{    Hori=Lefti=0;Topi=CntnrHt-MmbrHt-2*BorderWidth}
    while(Mmbr!=null){
        MmbrStyle.left=Lefti+BorderWidth+P_X;
        MmbrStyle.top=Topi+BorderWidth+P_X;
        if(Nav4)Mmbr.CmdLyr.moveTo(Lefti+BorderWidth,Topi+BorderWidth);
        if(Mmbr.ChildCntnr){
            if(RightToLeft)ChldCntnrWdth=Nav4?Mmbr.ChildCntnr.clip.width:parseInt(Mmbr.ChildCntnr.style.width);
            if(Hori){    SubTp=Topi+MmbrHt+2*BorderWidth;
                SubLt=RightToLeft?Lefti+MmbrWt-ChldCntnrWdth:Lefti}
            else{    SubLt=RightToLeft?Lefti-ChldCntnrWdth+ChildOverlap*MmbrWt+BorderWidth:Lefti+(1-ChildOverlap)*MmbrWt+BorderWidth;
                SubTp=RcrsLvl==1&&AcrssFrms?Topi:Topi+ChildVerticalOverlap*MmbrHt}
            PosMenu(Mmbr.ChildCntnr,SubTp,SubLt)}
        Mmbr=Mmbr.PrvMbr;
        if(Mmbr){    MmbrStyle=!Nav4?Mmbr.style:Mmbr;
            PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
            PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
            MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
            MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
            Hori?Lefti-=BorderBtwnElmnts?(MmbrWt+BorderWidth):(MmbrWt):Topi-=BorderBtwnElmnts?(MmbrHt+BorderWidth):(MmbrHt)}}
    RcrsLvl--}

function Initiate(){
    if(IniFlg){    Init(FrstCntnr);IniFlg=0;
        if(ShwFlg)AfterCloseAll();ShwFlg=0}}

function Init(CntnrPntr){
    var Mmbr=CntnrPntr.FrstMbr;
    var MCStyle=Nav4?CntnrPntr:CntnrPntr.style;
    RcrsLvl++;
    MCStyle.visibility=RcrsLvl==1?M_Show:M_Hide;
    while(Mmbr!=null){
        if(Mmbr.Hilite){Mmbr.Hilite=0;if(KeepHilite)LowItem(Mmbr)}
        if(Mmbr.ChildCntnr) Init(Mmbr.ChildCntnr);
        Mmbr=Mmbr.PrvMbr}
    RcrsLvl--}

function ClearAllChilds(Pntr){
    var CPCCStyle;
    while (Pntr){
        if(Pntr.Hilite){
            Pntr.Hilite=0;
            if(KeepHilite)LowItem(Pntr);
            if(Pntr.ChildCntnr){
                CPCCStyle=Nav4?Pntr.ChildCntnr:Pntr.ChildCntnr.style;
                CPCCStyle.visibility=M_Hide;
                ClearAllChilds(Pntr.ChildCntnr.FrstMbr)}
            break}
        Pntr=Pntr.PrvMbr}}

function GoTo(){
    if(this.LinkTxt){
        status='';
        var HP=Nav4?this.LowLyr:this;
        LowItem(HP);
        this.LinkTxt.indexOf('java script:')!=-1?eval(this.LinkTxt):DcLoc.location.href=this.LinkTxt}}

function HiliteItem(P){
    if(Nav4){
        if(P.ro)P.document.images[P.rid].src=P.ri2;
        else{    if(P.HiBck)P.bgColor=P.HiBck;
            if(P.value.indexOf('<img')==-1){
                P.document.write(P.Ovalue);
                P.document.close()}}}
    else{    if(P.ro){    var Lc=P.Level==1?FrstLoc:ScLoc;
            Lc.document.images[P.rid].src=P.ri2}
        else{    if(P.HiBck)P.style.backgroundColor=P.HiBck;
            if(P.HiFntClr)P.style.color=P.HiFntClr}}
    P.Hilite=1}

function LowItem(P){
    if(P.ro){    if(Nav4)P.document.images[P.rid].src=P.ri1;
        else{    var Lc=P.Level==1?FrstLoc:ScLoc;
            Lc.document.images[P.rid].src=P.ri1}}
    else{    if(Nav4){    if(P.LoBck)P.bgColor=P.LoBck;
            if(P.value.indexOf('<img')==-1){
                P.document.write(P.value);
                P.document.close()}}
        else{    if(P.LoBck)P.style.backgroundColor=P.LoBck;
            if(P.LwFntClr)P.style.color=P.LwFntClr}}}

function OpenMenu(){   
    if(!Loadd||!Creatd) return;
    var TpScrlld=ExpYes?SCmplnt?ScHtml.scrollTop:ScLoc.document.body.scrollTop:ScLoc.pageYOffset;
    var LScrlld=ExpYes?SCmplnt?ScHtml.scrollLeft:ScLoc.document.body.scrollLeft:ScLoc.pageXOffset;
    var CCnt=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr;
    var ThisHt=Nav4?this.clip.height:parseInt(this.style.height);
    var ThisWt=Nav4?this.clip.width:parseInt(this.style.width);
    var ThisLft=AcrssFrms&&this.Level==1&&!FirstLineHorizontal?0:Nav4?this.Container.left:parseInt(this.Container.style.left);
    var ThisTp=AcrssFrms&&this.Level==1&&FirstLineHorizontal?0:Nav4?this.Container.top:parseInt(this.Container.style.top);
    var HP=Nav4?this.LowLyr:this;
    CurrntOvr=this;
    IniFlg=0;
    ClearAllChilds(this.Container.FrstMbr);
    HiliteItem(HP);
    if(CCnt!=null){
        if(!ShwFlg){ShwFlg=1;    BeforeFirstOpen()}
        var CCW=Nav4?this.LowLyr.ChildCntnr.clip.width:parseInt(this.ChildCntnr.style.width);
        var CCH=Nav4?this.LowLyr.ChildCntnr.clip.height:parseInt(this.ChildCntnr.style.height);
        var ChCntTL=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr.style;
        var SubLt=AcrssFrms&&this.Level==1?CCnt.OrgLeft+ThisLft+LScrlld:CCnt.OrgLeft+ThisLft;
        var SubTp=AcrssFrms&&this.Level==1?CCnt.OrgTop+ThisTp+TpScrlld:CCnt.OrgTop+ThisTp;
        if(MenuWrap){
            if(RightToLeft){
                if(SubLt<LScrlld)SubLt=this.Level==1?LScrlld:SubLt+(CCW+(1-2*ChildOverlap)*ThisWt);
                if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=ScWinWdth+LScrlld-CCW}
            else{    if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=this.Level==1?ScWinWdth+LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap)*ThisWt);
                if(SubLt<LScrlld)SubLt=LScrlld}
            if(SubTp+CCH>TpScrlld+ScWinHght)SubTp=this.Level==1?SubTp=TpScrlld+ScWinHght-CCH:SubTp-CCH+(1-2*ChildVerticalOverlap)*ThisHt;
            if(SubTp<TpScrlld)SubTp=TpScrlld}
        ChCntTL.top=SubTp+P_X;ChCntTL.left=SubLt+P_X;ChCntTL.visibility=M_Show}
    status=this.LinkTxt}

function OpenMenuClick(){
    if(!Loadd||!Creatd) return;
    var HP=Nav4?this.LowLyr:this;
    CurrntOvr=this;
    IniFlg=0;
    ClearAllChilds(this.Container.FrstMbr);
    HiliteItem(HP);
    status=this.LinkTxt}

function CloseMenu(){
    if(!Loadd||!Creatd) return;
    if(!KeepHilite){
        var HP=Nav4?this.LowLyr:this;
        LowItem(HP)}
    status='';
    if(this==CurrntOvr){
        IniFlg=1;
        if(CloseTmr)clearTimeout(CloseTmr);
        CloseTmr=setTimeout('Initiate(CurrntOvr)',DissapearDelay)}}

function CntnrSetUp(Wdth,Hght,NoOff){
    var x=RcrsLvl==1?BorderColor:BorderSubColor;
    this.FrstMbr=null;
    this.OrgLeft=this.OrgTop=0;
    if(x)this.bgColor=x;
    if(Nav4){    this.visibility='hide';
        this.resizeTo(Wdth,Hght)}
    else{    if(x)this.style.backgroundColor=x;
        this.style.width=Wdth+P_X;
        this.style.height=Hght+P_X;
        this.style.fontFamily=FontFamily;
        this.style.fontWeight=FontBold?'bold':'normal';
        this.style.fontStyle=FontItalic?'italic':'normal';
        this.style.fontSize=FontSize+'pt';
        this.style.zIndex=RcrsLvl+Ztop}}

function MbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
    var Location=RcrsLvl==1?FrstLoc:ScLoc;
    var MemVal=eval(WhatMenu+'[0]');
    var t,T,L,W,H,S;
    var a,b,c,d;
    var Cmplnt=RcrsLvl==1?FCmplnt:SCmplnt;
    var LftXtra=(DomNav&&!Opr)||Cmplnt?LeftPaddng:0;
    var TpXtra=(DomNav&&!Opr)||Cmplnt?TopPaddng:0;
    this.PrvMbr=PrMmbr;
    this.Level=RcrsLvl;
    this.LinkTxt=eval(WhatMenu+'[1]');
    this.Container=MmbrCntnr;
    this.ChildCntnr=null;
    this.Hilite=0;
    this.style.overflow='hidden';
    this.style.cursor=ExpYes&&(this.LinkTxt||(RcrsLvl==1&&UnfoldsOnClick))?'hand':'default';
    this.ro=0;
    if(MemVal.indexOf('rollover')!=-1){
        this.ro=1;
        this.ri1=MemVal.substring(MemVal.indexOf(':')+1,MemVal.lastIndexOf(':'));
        this.ri2=MemVal.substring(MemVal.lastIndexOf(':')+1,MemVal.length);
        this.rid=WhatMenu+'i';
        MemVal="<img src=\""+this.ri1+"\" name=\""+this.rid+"\" width=\""+Wdth+"\" height=\""+Hght+"\">"}
    this.value=MemVal;
    if(RcrsLvl==1){
        a=LowBgColor;
        b=HighBgColor;
        c=FontLowColor;
        d=FontHighColor}
    else{    a=LowSubBgColor;
        b=HighSubBgColor;
        c=FontSubLowColor;
        d=FontSubHighColor}
    this.LoBck=a;
    this.LwFntClr=c;
    this.HiBck=b;
    this.HiFntClr=d;
    this.style.color=this.LwFntClr;
    if(this.LoBck)this.style.backgroundColor=this.LoBck;
    this.style.textAlign=MenuTextCentered;
    if(eval(WhatMenu+'[2]'))this.style.backgroundImage="url(\'"+eval(WhatMenu+'[2]')+"\')";
    if(MemVal.indexOf('<')==-1){
        this.style.width=Wdth-LftXtra+P_X;
        this.style.height=Hght-TpXtra+P_X;
        this.style.paddingLeft=LeftPaddng+P_X;
        this.style.paddingTop=TopPaddng+P_X}
    else{    this.style.width=Wdth+P_X;
        this.style.height=Hght+P_X}
    if(MemVal.indexOf('<')==-1&&DomYes){
        t=Location.document.createTextNode(MemVal);
        this.appendChild(t)}
    else this.innerHTML=MemVal;
    if(eval(WhatMenu+'[3]')&&ShowArrow){
        a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6:0;
        S=Arrws[a];
        W=Arrws[a+1];
        H=Arrws[a+2];
        T=RcrsLvl==1&&FirstLineHorizontal?Hght-H-2:(Hght-H)/2;
        L=RightToLeft?2:Wdth-W-2;
        if(DomYes){

            t=Location.document.createElement('img');
            this.appendChild(t);
            t.style.position='absolute';
            t.src=S;

            t.style.width=W+P_X;
            t.style.height=H+P_X;
            t.style.top=T+P_X;
            t.style.left=L+P_X}
        else{    MemVal+="<div style='position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit'><img src='"+S+"'></div>";
            this.innerHTML=MemVal}}
    if(ExpYes){this.onselectstart=CnclSlct;
        this.onmouseover=RcrsLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
        this.onmouseout=CloseMenu;
        this.onclick=RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?OpenMenu:GoTo    }
    else{    RcrsLvl==1&&UnfoldsOnClick?this.addEventListener('mouseover',OpenMenuClick,false):this.addEventListener('mouseover',OpenMenu,false);
        this.addEventListener('mouseout',CloseMenu,false);
        RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?this.addEventListener('click',OpenMenu,false):this.addEventListener('click',GoTo,false)}}

function NavMbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
    var a,b,c,d;
    if(RcrsLvl==1){
        a=LowBgColor;
        b=HighBgColor;
        c=FontLowColor;
        d=FontHighColor}
    else {    a=LowSubBgColor;
        b=HighSubBgColor;
        c=FontSubLowColor;
        d=FontSubHighColor    }
    this.value=eval(WhatMenu+'[0]');
    this.ro=0;
    if(this.value.indexOf('rollover')!=-1){
        this.ro=1;
        this.ri1=this.value.substring(this.value.indexOf(':')+1,this.value.lastIndexOf(':'));
        this.ri2=this.value.substring(this.value.lastIndexOf(':')+1,this.value.length);
        this.rid=WhatMenu+'i';this.value="<img src='"+this.ri1+"' name='"+this.rid+"'>"}
    if(LeftPaddng&&this.value.indexOf('<')==-1&&MenuTextCentered=='left')this.value=' \;'+this.value;
    if(FontBold)this.value=this.value.bold();
    if(FontItalic)this.value=this.value.italics();
    this.Ovalue=this.value;
    this.value=this.value.fontcolor(c);
    this.Ovalue=this.Ovalue.fontcolor(d);
    this.value=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.value+TxtClose;
    this.Ovalue=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.Ovalue+TxtClose;
    this.LoBck=a;
    this.HiBck=b;
    this.ChildCntnr=null;
    this.PrvMbr=PrMmbr;
    this.Hilite=0;
    this.visibility='inherit';
    if(this.LoBck)this.bgColor=this.LoBck;
    this.resizeTo(Wdth,Hght);
    if(!AcrssFrms&&eval(WhatMenu+'[2]'))this.background.src=eval(WhatMenu+'[2]');
    this.document.write(this.value);
    this.document.close();
    this.CmdLyr=new Layer(Wdth,MmbrCntnr);
    this.CmdLyr.Level=RcrsLvl;
    this.CmdLyr.LinkTxt=eval(WhatMenu+'[1]');
    this.CmdLyr.visibility='inherit';
    this.CmdLyr.onmouseover=RcrsLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
    this.CmdLyr.onmouseout=CloseMenu;
    this.CmdLyr.captureEvents(Event.MOUSEUP);
    this.CmdLyr.onmouseup=RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?OpenMenu:GoTo;
    this.CmdLyr.LowLyr=this;
    this.CmdLyr.resizeTo(Wdth,Hght);
    this.CmdLyr.Container=MmbrCntnr;
    if(eval(WhatMenu+'[3]')&&ShowArrow){
        a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6:0;
        this.CmdLyr.ImgLyr=new Layer(Arrws[a+1],this.CmdLyr);
        this.CmdLyr.ImgLyr.visibility='inherit';
        this.CmdLyr.ImgLyr.top=RcrsLvl==1&&FirstLineHorizontal?Hght-Arrws[a+2]-2:(Hght-Arrws[a+2])/2;
        this.CmdLyr.ImgLyr.left=RightToLeft?2:Wdth-Arrws[a+1]-2;
        this.CmdLyr.ImgLyr.width=Arrws[a+1];
        this.CmdLyr.ImgLyr.height=Arrws[a+2];
        ImgStr="<img src='"+Arrws[a]+"' width='"+Arrws[a+1]+"' height='"+Arrws[a+2]+"'>";
        this.CmdLyr.ImgLyr.document.write(ImgStr);
        this.CmdLyr.ImgLyr.document.close()}}

function CreateMenuStructure(MName,NumberOf){
    RcrsLvl++;
    var i,NoOffSubs,Mbr,Wdth=0,Hght=0;
    var PrvMmbr=null;
    var WMnu=MName+'1';
    var MenuWidth=eval(WMnu+'[5]');
    var MenuHeight=eval(WMnu+'[4]');
    var Location=RcrsLvl==1?FrstLoc:ScLoc;
    if (RcrsLvl==1&&FirstLineHorizontal){
        for(i=1;i<NumberOf+1;i++){
            WMnu=MName+eval(i);
            Wdth=eval(WMnu+'[5]')?Wdth+eval(WMnu+'[5]'):Wdth+MenuWidth}
        Wdth=BorderBtwnElmnts?Wdth+(NumberOf+1)*BorderWidth:Wdth+2*BorderWidth;Hght=MenuHeight+2*BorderWidth}
    else{    for(i=1;i<NumberOf+1;i++){
            WMnu=MName+eval(i);
            Hght=eval(WMnu+'[4]')?Hght+eval(WMnu+'[4]'):Hght+MenuHeight}
        Hght=BorderBtwnElmnts?Hght+(NumberOf+1)*BorderWidth:Hght+2*BorderWidth;Wdth=MenuWidth+2*BorderWidth}
    if(DomYes){
        var MmbrCntnr=Location.document.createElement("div");
        MmbrCntnr.style.position='absolute';
        MmbrCntnr.style.visibility='hidden';
        Location.document.body.appendChild(MmbrCntnr)}
    else{    if(Nav4) var MmbrCntnr=new Layer(Wdth,Location)
        else{    WMnu+='c';
            Location.document.body.insertAdjacentHTML("AfterBegin","<div id='"+WMnu+"' style='visibility:hidden; position:absolute;'><\/div>");
            var MmbrCntnr=Location.document.all[WMnu]}}
    MmbrCntnr.SetUp=CntnrSetUp;
    MmbrCntnr.SetUp(Wdth,Hght,NumberOf);
    if(Exp4){    MmbrCntnr.InnerString='';
        for(i=1;i<NumberOf+1;i++){
            WMnu=MName+eval(i);
            MmbrCntnr.InnerString+="<div id='"+WMnu+"' style='position:absolute;'><\/div>"}
        MmbrCntnr.innerHTML=MmbrCntnr.InnerString}
    for(i=1;i<NumberOf+1;i++){
        WMnu=MName+eval(i);
        NoOffSubs=eval(WMnu+'[3]');
        Wdth=RcrsLvl==1&&FirstLineHorizontal?eval(WMnu+'[5]')?eval(WMnu+'[5]'):MenuWidth:MenuWidth;
        Hght=RcrsLvl==1&&FirstLineHorizontal?MenuHeight:eval(WMnu+'[4]')?eval(WMnu+'[4]'):MenuHeight;
        if(DomYes){
            Mbr=Location.document.createElement("div");
            Mbr.style.position='absolute';
            Mbr.style.visibility='inherit';
            MmbrCntnr.appendChild(Mbr)}
        else Mbr=Nav4?new Layer(Wdth,MmbrCntnr):Location.document.all[WMnu];
        Mbr.SetUp=Nav4?NavMbrSetUp:MbrSetUp;
        Mbr.SetUp(MmbrCntnr,PrvMmbr,WMnu,Wdth,Hght);
        if(NoOffSubs) Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
        PrvMmbr=Mbr}
    MmbrCntnr.FrstMbr=Mbr;
    RcrsLvl--;
    return(MmbrCntnr)}

function CreateMenuStructureAgain(MName,NumberOf){
    var i,WMnu,NoOffSubs,PrvMmbr,Mbr=FrstCntnr.FrstMbr;
    RcrsLvl++;
    for(i=NumberOf;i>0;i--){
        WMnu=MName+eval(i);
        NoOffSubs=eval(WMnu+'[3]');
        PrvMmbr=Mbr;
        if(NoOffSubs)Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
        Mbr=Mbr.PrvMbr}
    RcrsLvl--}
Avatar billede intenz Novice
05. maj 2010 - 00:05 #1
Jeg tvivler på du får nogen til at kigge på det der.

Det korte svar er: dit script er noget skrammel-kode, find et nyt og sæt det op. Der findes masser derude der er kodet af folk, der kan finde ud af at kode.

Det script du bruger ligner noget fra slutningen af 90'erne, og er, som det meste andet fra dynamic drive, noget skrammel.

Hvis du ikke selv har mod på det kan du betale dig fra det, det bør ikke tage mere end en time eller to for en freelancer.
Avatar billede Slettet bruger
05. maj 2010 - 09:40 #2
Ja, lidt vel fyldig 1. post : )

Med Firebug, kan jeg se at dine "små fejltegn i menuen" faktisk er billeder
- som mangler indhold i deres src-attribut - f.eks:

<img style="position: absolute; width: 10px; height: 5px; top: 13px; left: 88px;" src=""/>

Så det har sandsynligvis også været galt tidligere, men bare ikke været synligt før.

Enig med intenz: Det er hæslig kode, som bør erstattes, en masse.
Avatar billede Poulgam Nybegynder
05. maj 2010 - 11:57 #3
Hej T4NK3R

Tusinde tak for hjælpen - nu virker det - det var virkelig ved at give mig gråt hår. Du har fuldstændig ret i, at siden trænger til noget rigtigt kodning.

Hvordan giver jeg dig point, og lukker tråden ?
Avatar billede Slettet bruger
05. maj 2010 - 12:06 #4
Flot
- points her : )
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester