Avatar billede oergaard Nybegynder
18. februar 2004 - 12:59 Der er 18 kommentarer og
1 løsning

Hvordan centreres en DHTML menu

Jeg har hentet DHTML-menuen fra nedenstående link:
http://www.dhtmlcentral.com/script/script.asp?id=30

Jeg har så ændret en anelse på koden, men har ikke kunne gennemskue, hvordan jeg centrer menuen ??

Nogen der kan hjælpe ??

//Oergaard
Avatar billede muppet Nybegynder
18. februar 2004 - 14:27 #1
Dit BODY start tag, tilføj 'align="center"'

Eks:
<div id="divBg" align="center">
Avatar billede oergaard Nybegynder
18. februar 2004 - 15:05 #2
Nu har jeg desværre ikke min bærbar med på arbejde i dag, så jeg kan ikke afprøve det lige nu, men jeg prøvede i går med <p align="center"> kode </p> hvilket ikke gav noget resultat.

Vil ovenstående ikke give samme effekt som det jeg selv afprøvede ??

//Oergaard
Avatar billede mik789 Nybegynder
18. februar 2004 - 15:06 #3
muppet> det kan godt være at det virker, men det er ikke standard html (align er ikke et attribut til body). I stedet kan bruges: style="text-align:center;" Dette centrerer dog kun vandret, og det forudsætter at det element der centreres, har højre- og venstremarginer set til "auto" (i style attributten eller i stylesheetet) eller at de ikke er angivet.
Avatar billede muppet Nybegynder
18. februar 2004 - 15:11 #4
Oergaard> Det må teste vise :o)

mik789> Det er ikke i <body>, men i <div> align sættes ;o)
Avatar billede mik789 Nybegynder
18. februar 2004 - 15:13 #5
muppet>nååhhh... ok
Avatar billede oergaard Nybegynder
19. februar 2004 - 09:34 #6
Den er nu afrprøvet, men uden held.

//Oergaard
Avatar billede mik789 Nybegynder
19. februar 2004 - 09:45 #7
der er vel ikke andet at gøre end at kigge koden fra dhtml godt igennem og finde ud af hvor der er angivelser der styrer placeringen af menuen. Det gælder både stylesheetet (hvis der er et sådan) og de steder i scriptet hvor style egenskaberne sættes dynamisk (f.eks. position, top, left). Ellers læg de dele af koden som er relavant her.
Avatar billede muppet Nybegynder
19. februar 2004 - 09:55 #8
Har du et link til din kode ?
Avatar billede oergaard Nybegynder
19. februar 2004 - 10:01 #9
Det har jeg prøvet, men som jeg skriver kan jeg ikke gennemskue, hvordan jeg får det centreret. I koden sætter med en var sLeft til en værdi i px, som er afstanden fra venstre. Jeg kunne så lave en lille funktion:

function centrer
{
  browserwidth = windows.innerWidth;
  sLeft = ((objektWidth - browserwisth)/2);
}

Men troede, at det kunne gøres meget nemmere...

//Oergaard
Avatar billede oergaard Nybegynder
19. februar 2004 - 10:03 #10
Den .zip fil du kan hente på nedenstående side indeholder tilnærmelsesvis koden.
http://www.dhtmlcentral.com/script/script.asp?id=30

//Oergaard
Avatar billede mik789 Nybegynder
19. februar 2004 - 10:08 #11
har du prøvet med din funktion? Der er lige et par slåfejl. ret til:

function centrer
{
  browserwidth = window.innerWidth;
  sLeft = ((browserwidth-objektWidth)/2);
}
Avatar billede muppet Nybegynder
19. februar 2004 - 10:18 #12
Såvidt jeg umiddelbart kan bedømme, ligger det i disse:

position:absolute betyder at du suverænt bestemmer placeringen i de koordinater du giver den, så herefter er det altså ligegyldigt hvad du ellers prøver at skrive.

Prøv at fjerne dem i styles og leg med placeringen individuelt af dine <div>'s

#divBg          {position:absolute; z-index:10; width:2000px; left:0px; height:100px; clip:rect(0px 10px 10px 0px); visibility:hidden;}
#divMenu        {position:absolute; z-index:11; left:11px; top:1px; color:#333333; font-size:13px; font-family:verdana,arial,helvetica,sans-serif; visibility:inherit;}
#divArrowLeft    {position:absolute; z-index:12; width:11px; height:20px; left:0px; top:0px; visibility:inherit;}
#divArrowRight  {position:absolute; z-index:12; width:11px; height:20px; top:0px; visibility:inherit;}
Avatar billede oergaard Nybegynder
19. februar 2004 - 11:50 #13
Det er nu afprøvet, og give næsten et godt resultat! Med næsten mener, at jeg kan centrer en del af menuen, men dens funktionalitet forsvinder.

//Oergaard
Avatar billede oergaard Nybegynder
19. februar 2004 - 12:08 #14
Så har jeg løst den selv, dog med hint fra <<muppet>>

I skal have tusind tak for jeres indsats.

Løsning:
#divBg          {position:relativ;...}
#divMenu        {position:relatic;...}
...
sLeft = 0;
...
<body>
  <script>
    Script-kode
  </script>
  <center>
    HTML-kode
  </center>
</body>

//Oergaard
Avatar billede mik789 Nybegynder
19. februar 2004 - 12:27 #15
tillad mig at lære dig lidt Ekspert netikette (i al fordragelighed). Det er helt OK at du selv tager point, når du selv kommer frem til en løsning, men det ville være en venlig gestus hvis du inviterer muppet til at tage en del af dem. Læg mærke til hvad folk gør ud af deres svar. muppet har faktisk brugt tid til at kigge på koden fra dhtml-central for at hjælpe dig (mere end hvad jeg ville) og fik dig i den rigtige retning. Bare et godt råd fremover....
Avatar billede oergaard Nybegynder
19. februar 2004 - 12:43 #16
Det synes jeg lyder som en helt super idé, men har ingen idé om hvordan jeg skal give ham en del af pointene

Jeg er ikke den store haj og bruger ikke mine point til andet end at få nogle spørgsmål besvaret, det ville for mig derfor være underordnet, at skulle give ham alle 60 point.

Så at du tillader dig det er kun "perfekt" for mig, da jeg på den måde får en større viden om hvordan man skal begå sig her inde, så tak!! :-)

//Oergaard
Avatar billede mik789 Nybegynder
19. februar 2004 - 12:57 #17
OK, fint! Du gør bare det i den situation at du beder dem du synes har bidraget til løsningen om at lægge et svar. Du lægger også dit eget svar. Til sidst vil du kunne se alle der har svaret nederst i vinduet. Du får så muligheden for at fordele pointene præcis som du vil. Nemt nok, man skal bare lige vænne sig til det.
;-)
Avatar billede mik789 Nybegynder
19. februar 2004 - 13:05 #18
en anden finesse: hvis det viser sig at du får givet point for tidligt, eller at du på anden måde godt vil belønne en person uden at du kan gøre det fra dit spørgsmål, så opretter du bare et spørgsmål, f.eks. med titlen: "point til muppet" hvor du samtidig henviser til det oprindelige spørgsmål. Når muppet så går ind på "point til muppet" og svarer, giver du ham pointene der. Bare et eksempel. Jeg er ret sikker på at muppet ikke går op i pointene nu er her. Det er bare for fremover...
Avatar billede muppet Nybegynder
19. februar 2004 - 16:09 #19
"Jeg er ret sikker på at muppet ikke går op i pointene nu er her." - citat mik789

Godt set ;o)
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