Avatar billede -42- Nybegynder
28. marts 2003 - 10:28 Der er 5 kommentarer og
1 løsning

dropdown menu

jeg har denne dropdown på www.cbc.dk/test/dropdown.html
Problemet er at det er noget lort, og at den slet ikke burde leve! Den er ikke specielt venlig overfor forskellige browsere, og den har det med at crashe en gang i mellem.

Der er 200 point til den der laver en ny lækker en og selvfølgelig med det grafiske look som siden har nu. Dvs. at man bruger det layer som existere nu.

Den skal laves således, at der nemt kan indsættes flere menuer. Lav evt. en kopi af det existerende layer og brug det til extra menuer.

Lige nu virker dropdownen på menupunktet logistics.


Der gives ikke point til links, men kun til en lækker løsning.

Håber i gider hjælpe.
Avatar billede -42- Nybegynder
28. marts 2003 - 10:29 #1
Her er min kode.

// Dropdown start



//names of dropdowns stored here
f7_droplayer=new Array()
f7_droplayer[0]="drop1"
//f7_droplayer[1]="drop2"
//f7_droplayer[2]="drop3"
//f7_droplayer[3]="drop4"
//f7_droplayer[4]="drop5"
//f7_droplayer[5]="drop6"
//f7_droplayer[6]="drop7"

f7_cells=new Array()
f7_cells[0]="cell1"
//f7_cells[1]="cell2"
//f7_cells[2]="cell3"
//f7_cells[3]="cell4"
//f7_cells[4]="cell5"
//f7_cells[5]="cell6"
//f7_cells[6]="cell7"


f7_spaces=new Array()
f7_spaces[0]="space1"
//f7_spaces[1]="space2"
//f7_spaces[2]="space3"
//f7_spaces[3]="space4"
//f7_spaces[4]="space5"
//f7_spaces[5]="space6"
//f7_spaces[6]="space7"


//simple browser check
f7_v4=(parseInt(navigator.appVersion)>=4 && parseInt(navigator.appVersion)<=5)?1:0
f7_ie=(document.all && f7_v4)?1:0
f7_ns=(document.layers && f7_v4)?1:0




function f7_showdrop(thelayer){
    f7_keep=thelayer;
    f7_hideall();
    f7_showitnow=1;
    f7_showit(thelayer)
    }

function f7_showit(thelayer){
        if(f7_ie){
            eval(f7_droplayer[thelayer]+'.style.visibility="visible"');
            eval(f7_spaces[thelayer]+'.style.backgroundColor="#94B7B6"');
            eval(f7_cells[thelayer]+'.style.backgroundColor="#94B7B6"');
       
       
        }
        if(f7_ns){ eval('document.'+f7_droplayer[thelayer]+'.visibility="show"');}
       
    }






function f7_hidedrop(){
    f7_keep=-1;
    setTimeout('f7_hideall()',100);
   
}

function f7_clearCell(){
    document.getElementById('space1').style.backgroundColor = "#AFC8C7";
    document.getElementById('cell1').style.backgroundColor = "#AFC8C7";
}

function f7_showCell(){
    document.getElementById('space1').style.backgroundColor = "#94B7B6";
    document.getElementById('cell1').style.backgroundColor = "#94B7B6";
}

f7_keep=-1

function f7_hide(){
    for(i=0;i<f7_droplayer.length;i++){
            eval(f7_droplayer[i]+'.style.visibility="hidden"');
            eval(f7_spaces[i]+'.style.backgroundColor = "#AFC8C7"');
            eval(f7_cells[i]+'.style.backgroundColor = "#AFC8C7"');
    }

}

function f7_hideall(){
   
    for(i=0;i<f7_droplayer.length;i++){ 
        f7_hideit=0; f7_checkmousepos(i)
        if(f7_ie && f7_keep!=i){
            if(f7_hideit){
                eval(f7_droplayer[i]+'.style.visibility="hidden"');
                eval(f7_spaces[i]+'.style.backgroundColor = "#AFC8C7"');
                eval(f7_cells[i]+'.style.backgroundColor = "#AFC8C7"');
                }
               
            }
           
        if(f7_ns && f7_keep!=i){
            if(f7_hideit){ eval('document.'+f7_droplayer[i]+'.visibility="hide"') }
            }
        }
   
    }


//deal with cursor over layer
document.onmousemove = f7_getmousepos
if (f7_ns) document.captureEvents(Event.MOUSEMOVE)

function f7_getmousepos(e){
    if(f7_ns){f7_mousex=e.pageX; f7_mousey=e.pageY}
    if(f7_ie){f7_mousex=event.clientX; f7_mousey=event.clientY;}
    }

function f7_checkmousepos(i){         
    if(f7_ns){   
        f7_x_min=eval('document.'+f7_droplayer[i]+'.left')
        f7_x_max=f7_x_min+eval('document.'+f7_droplayer[i]+'.clip.width')
        f7_y_min=eval('document.'+f7_droplayer[i]+'.top')
        f7_y_max=f7_y_min+eval('document.'+f7_droplayer[i]+'.clip.height')
        }   
    if(f7_ie){   
        f7_x_min=eval(f7_droplayer[i]+'.style.pixelLeft')
        f7_x_max=f7_x_min+eval(f7_droplayer[i]+'.scrollWidth')
        f7_y_min=eval(f7_droplayer[i]+'.style.pixelTop')
        f7_y_max=f7_y_min+eval(f7_droplayer[i]+'.scrollHeight')
        }
    if (f7_mousex>=f7_x_min && f7_mousex<=f7_x_max && f7_mousey>=f7_y_min && f7_mousey<=f7_y_max){
        f7_hideit=0; setTimeout('f7_hideall()',100)
        }
    else { f7_hideit=1 }
    return f7_hideit
    }












//Dropdown end
Avatar billede ahlforn Nybegynder
28. marts 2003 - 10:39 #2
Der skal du nok af med mere end 200 point !!!
Avatar billede medions Nybegynder
28. marts 2003 - 10:45 #3
ahlforn> Det må man ikke i følge reglerne... Max 200 points, ellers er det op med pungen...

//>Rune
Avatar billede -42- Nybegynder
28. marts 2003 - 10:47 #4
så smider jeg 100 mere bagefter i bonus ;-)
Avatar billede -42- Nybegynder
28. marts 2003 - 10:48 #5
så må jeg jo hellere lade være...
Avatar billede -42- Nybegynder
28. marts 2003 - 11:48 #6
hmmm
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