Avatar billede missing Nybegynder
06. marts 2000 - 12:19 Der er 22 kommentarer og
1 løsning

Microsoft menu -igen-igen

Er det ikke muligt at lave hvad jer kalder en "dropdownmenu" som den på microsoft's sider (f.eks. microsoft.dk i toppen) i javascript ? - og hvis ikke hvordan laver man det så i dhtml, kræver det noget specieltfor at lave noget i dhtml (ligesom det gør i ASP), og .......hjæææælp!

Jeg mener at spørgsmålet om microsoft's menulinje har været oppe før, men kunne ikke finde det, så jeg vil gerne have en ny "debat" om det, HER i dette spørgsmål
Avatar billede dkkarpen Nybegynder
06. marts 2000 - 14:07 #1
Her finder du en menu svarende til Microsofts.

http://www.bratta.com/dhtml/scripts.asp
Avatar billede olebole Juniormester
06. marts 2000 - 14:31 #2
<ole>
Det er klart det bedste svar, du får på det spørgsmål!
/VH
</bole>
Avatar billede hirtshals Nybegynder
06. marts 2000 - 15:26 #3
Vent til du ser denne :-)

http://www.viewsource.subnet.dk/dennevirker.htm

Sig til hvis det har interesse og jeg kan sende dig scriptet
Avatar billede svedendeko Nybegynder
07. marts 2000 - 09:31 #4
Der er jo også altid denne...

http://www.dansteinman.com/dynduo

WOW den er lækker og cross-browser
Avatar billede missing Nybegynder
07. marts 2000 - 12:22 #5
Jeg er mest stemt for hirtshals' script, da det virker godt og nemt at ændre størrelse og farve i. Så derfor får han pointene, plus at dkkarpen's og svedendeko's links er til frames, så man selv skal finde hvor på siden scriptet er....
Avatar billede svedendeko Nybegynder
07. marts 2000 - 12:44 #6
what what ?? hvad mener du med links til frames ??

dynduo er en api du inkluderer på din side og som gør en masse ting for dig !! Frames ikke forstået !
Avatar billede missing Nybegynder
07. marts 2000 - 13:16 #7
nej ok, ikke frames, men en oversigt over forskellige ...
men jeg tror jeg fandt den du mente, var det ikke 19. Menubar ???
Avatar billede svedendeko Nybegynder
07. marts 2000 - 14:41 #8
Ja det kan godt være den har nr. 19. Der er somsagt en masse forskelligt og fælles for det alt sammen er at det virker cross-browser som vel egentlig er dets egentlige styrke..
Avatar billede missing Nybegynder
07. marts 2000 - 21:33 #9
Jeg har nu valgt at bruge følgende kode, givet af hirtshals, men hvordan får jeg den lille popupmenu til at forsvinde igen, når musen går væk fra den så man ikke behøver at trykke et andet sted på siden ????????

se på
http://www.viewsource.subnet.dk/dennevirker.htm

eller her ;

<SCRIPT language="javascript">

//do browser detect stuff
var isNS = (navigator.appName == "Netscape");
var isMacIE = ( (navigator.userAgent.indexOf("IE 4")  > -1) && (navigator.userAgent.indexOf("Mac")  > -1) );
var layerRef = (isNS) ? "document" : "document.all";
var styleRef = (isNS) ? "" : ".style";
var isDynamic = ( (document.layers || document.all) && !isMacIE );

var activeMenu = 0;


function activateMenu(menuLayerRef, offset) {
   
    if (isDynamic && activeMenu != menuLayerRef) {

        if (activeMenu) hideMenu("menu" + activeMenu);
           
        menuID = "menu" + menuLayerRef;
        activeMenu = menuLayerRef;
   
        if (isNS) {
            document[menuID].top = 21;
            document[menuID].left = offset;
        } else {
            document.all[menuID].style.pixelTop = 25;
            document.all[menuID].style.pixelLeft = offset;
        }

        showMenu(menuID)
    }
}

function showMenu(layerID) {
    eval(layerRef + '["' + layerID + '"]' + styleRef + '.visibility = "visible"');
}


function hideMenu(layerID) {
    eval(layerRef + '["' + layerID + '"]' + styleRef + '.visibility = "hidden"');
}

function killMenu(e) {
    //check if theres a menu active
    if (activeMenu) {
        menuID = "menu" + activeMenu;
        hideMenu(menuID);
        activeMenu = 0;
    } 

}

function init() {
    if (isDynamic) {
        if (isNS) {document.captureEvents(Event.MOUSEUP);}
        document.onmouseup = killMenu;
    }
}

//This function is included just for demonstration
function popUp(moviePath, winName, xSize, Ysize) {   
      window.open(moviePath, winName, "width=" + xSize + ",height=" + Ysize + ",directories=no,status=no,scrollbars=no,resize=no,menubar=no,toolbar=no,alwaysRaised=yes" );
}

</script>
Avatar billede hirtshals Nybegynder
07. marts 2000 - 23:03 #10
missing >> Jeg kigger på det i Morgen
Avatar billede hirtshals Nybegynder
08. marts 2000 - 08:49 #11
missing >> Hvis du sender dim email adresse til

henrik.hirtshals@forum.dk

Sender jeg dig et opdateret Script, der får POP up menuen til at forsvinde


Avatar billede missing Nybegynder
08. marts 2000 - 22:15 #12
det har jeg selv ordnet, det med popupmenuen, men det jeg mangler på scriptet er;

1 ==> at få de "små" menuer der kommer frem når man har musen over dem til at forsvinde igen når musen igen går væk fra dem. sådan som det er nu, så skal man trykke et andet sted på siden for at få dem til at gå væk igen, men det burde ske automatisk.

2 ==> at få de "små" menuer til at ligge ovenpå, som i <layer>'s, men ovenpå alle frames....
Avatar billede hirtshals Nybegynder
09. marts 2000 - 08:46 #13
Missing ==>

1 - Det var også det jeg mente

2 - Det er over ordentligt vanskelig, at få denne menu til at rulle ned over frames, det enested sted på nettet jeg har fundet noget om dette er på

http://webreference.com/dhtml/column21/

Den har jeg dog også selv prøvet, og desværre kommer den ud med fejl i JavaScrip linke 0 !! engang imellem. Der er ingen konsekvens, nogen gange sker det hver 5 gang, man vælger et  punkt, nogen gange kan der gå 15. Hele problem stillingen er selvfølgelig Brugerens adfærd, da de 2 frames snakker sammen, afhængig af hvad brugeren foretager sig på menuen, ja så prøver bruger at udføre de forskellige kommandoer, men det går skævt engang imellem hvis browseren vælger forkert rækkefølge.

Jeg har brugt lang tid på dette emne, men indtil videre er det dene eneste frame løsning jeg kender til
Avatar billede hirtshals Nybegynder
09. marts 2000 - 08:48 #14
Selve frame problematikken beskrives her

http://webreference.com/dhtml/column18/

Denne adresse

http://webreference.com/dhtml/column21/

er en udbygning af ovenstående
Avatar billede hirtshals Nybegynder
09. marts 2000 - 08:52 #15
missing >>

Vedr 1 :

http://www.viewsource.subnet.dk/dynamicmenu/demo2.htm

Er det ikke det du mener ??
Avatar billede missing Nybegynder
09. marts 2000 - 22:28 #16
vedr. 1 :
jo, perfekt, det var lige den jeg mente...

jeg kigger på de der links du har givet lige om lidt.................
Avatar billede missing Nybegynder
09. marts 2000 - 22:44 #17
jeg har prøvet at læse noget af det der..... hold k*** hvor er der en lang smøre at skulle læse...
er du noget frem til en konklusion med hvordan man gør det ?
Avatar billede hirtshals Nybegynder
10. marts 2000 - 10:30 #18
JA - jeg havde det kørende på min maskine, men

desværre kommer den ud med fejl i JavaScrip linke 0 !! engang imellem. Der er ingen konsekvens, nogen gange sker det hver 5 gang, man vælger et  punkt, nogen gange kan der gå 15. Hele problem stillingen er selvfølgelig Brugerens adfærd, da de 2 frames snakker sammen, afhængig af hvad brugeren foretager sig på menuen, ja så prøver bruger at udføre de forskellige kommandoer, men det går skævt engang imellem hvis browseren vælger forkert rækkefølge. Men menuen virker stadigvæk når du klikker fejl alerten væk

Men ikke særligt brugervenlig :-(
Avatar billede missing Nybegynder
10. marts 2000 - 20:43 #19
så hvad du siger er at jeg skal prøve at sætte menuen på toppen af en "fuld" side istedet for at lade den gå ned over en anden frame ?
Avatar billede hirtshals Nybegynder
12. marts 2000 - 21:53 #20
Yes - desværre
Avatar billede hirtshals Nybegynder
12. marts 2000 - 21:54 #21
Bruger du ASP, kan du jo lave en include fil, sæ skal menuen kun opdateres et sted :-)
Avatar billede missing Nybegynder
15. marts 2000 - 22:17 #22
Jeg er nu kommet frem til nedenstående, men der er stadig et problem !!! Når man prøver at gå hen over de små popupmenuer, så går de væk igen. Fejlen ligger ikke i det sidste link som hirtshals gav, så hvad gør jeg forkert ???

<SCRIPT language="javascript">

//do browser detect stuff
var isNS = (navigator.appName == "Netscape");
var isMacIE = ( (navigator.userAgent.indexOf("IE 4")  > -1) && (navigator.userAgent.indexOf("Mac")  > -1) );
var layerRef = (isNS) ? "document" : "document.all";
var styleRef = (isNS) ? "" : ".style";
var isDynamic = ( (document.layers || document.all) && !isMacIE );

var activeMenu = 0;
var finalClip;


function activateMenu(menuLayerRef, offset) {
   
    if (isDynamic && activeMenu != menuLayerRef) {

        if (activeMenu) hideMenu("menu" + activeMenu);
           
        menuID = "menu" + menuLayerRef;
        activeMenu = menuLayerRef;
   
        if (isNS) {
            document[menuID].top = 21;
            document[menuID].left = offset;
        } else {
            document.all[menuID].style.pixelTop = 19;
            document.all[menuID].style.pixelLeft = offset;
        }

        showMenu(menuID)
       
    }
    if (isDynamic && !isNS) window.event.cancelBubble = true;
}

function showMenu(layerID) {
    eval(layerRef + '["' + layerID + '"]' + styleRef + '.visibility = "visible"');
}

function hideMenu(layerID) {
    eval(layerRef + '["' + layerID + '"]' + styleRef + '.visibility = "hidden"');
}

function killMenu(e) {
    //check if theres a menu active
    if (activeMenu) {
        menuID = "menu" + activeMenu;
        if (isNS) {
            menuX1 = document[menuID].left;
            menuX2 = menuX1 + document[menuID].clip.right;
            menuY1 = document[menuID].top;
            menuY2 = menuY1 + document[menuID].clip.bottom;
           
            if (e.pageX < menuX1 || e.pageX > menuX2 || e.pageY > menuY2) {
                hideMenu(menuID);
                activeMenu = 0;
            }
        } else {
                hideMenu(menuID);
                activeMenu = 0;

        }
    } 

}


function init() {
    if (isDynamic) {
        if (isNS) {
            document.captureEvents(Event.MOUSEMOVE);
            document.onmousemove = killMenu;
        } else {
            document.onmouseover = killMenu;
        }
       
    }
}
</script>

- eller du kan se det hele på
http://home0.inet.tele.dk/missing/TopMenu1.htm
Avatar billede missing Nybegynder
25. marts 2000 - 23:02 #23
er der ikke nogen der følger med i det her spørgsmål mere ???

- et tu hirtshals ?
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