Avatar billede ch007 Nybegynder
19. maj 2007 - 17:22 Der er 15 kommentarer og
1 løsning

Flyt JS-menu

http://www.houlborg.dk/eksperten/menu/index.htm

Jeg har hentet en "free"-menu.

Jeg kan ikke flytte på den. Hvordan går jeg det. Det er JS. <Center> eller ved at smide den i en tabel hjælper ikke. Jeg vil gerne kunne smide den i en table, så jeg kan lave det meget præcist, da hele min side er bygget op over tabeller...

PS Måske hører dette spg i kategorien JS??
Avatar billede weis Nybegynder
19. maj 2007 - 21:07 #1
Du skal nok ned i en af de JS filer som de menu består af for at ændre det, menuen er lavet så den "flyder" oven på htmldokumentet. Hvis du lige smider et link til der du har hentet menuen vil det hjælpe.
Avatar billede ch007 Nybegynder
19. maj 2007 - 22:06 #2
Avatar billede weis Nybegynder
19. maj 2007 - 22:14 #3
okay, du har hentet en fil der hedder "menu_data.js" i linje 36 og 39 står der: "left=10;" og "top=10;" det er disse to værdier der bestemmer hvor menuen skal være! det er samtidigt inde i den fil du ændre alt layout på menuen!
Avatar billede ch007 Nybegynder
19. maj 2007 - 22:19 #4
Super! Tak. Men så kommer den vel til at stå forskellige steder afhænigig af hvilken bruger der besøger min side?

Jeg tænker, hvis jeg gerne vil have den midt på skærmen. Om finder ud af at det er 10x200 pixels på min skærm der er 1000pix bred. Så kommer der en anden med 800pix bred og der står ikke i midten.

Kan jeg ikke smide den i en tabel?
Avatar billede weis Nybegynder
19. maj 2007 - 22:23 #5
Den kan ikke smides i en tabel, det er ikke meningen med JS filer. Jeg tror ikke den her menu er lavet til at centrer, men måske det kan lade sig gøre ved lidt udregninger!
Avatar billede ch007 Nybegynder
19. maj 2007 - 22:24 #6
På siden: http://www.milonic.com/ har de "låst" deres menu fast. Hvordan kan jeg gøre dette?
Avatar billede weis Nybegynder
19. maj 2007 - 22:28 #7
hvad mener du med låst?
Avatar billede weis Nybegynder
19. maj 2007 - 22:33 #8
jeg har leget lidt med det at centrer (er længe siden jeg har arbejdet med JS) men det kan lade sig gøre, hvis du over din "left=10;" indsætter:

menuWidth = 500;
screenWidth = screen.width;

og ændre "left=10;" til "left=(screenWidth-menuWidth)/2;" så skal du bare ændre "menuWidth" værdien til at have samme brede som menuen, den man kan desværre ikke aflæse direkte, så den skal man selv finde frem til!
Avatar billede weis Nybegynder
19. maj 2007 - 22:42 #9
så er der en anden løsning: hvis man læser i deres dokumentation, så kan man istedet for "left=10;" skrive "screenposition="center";" og så er den midt på siden som du vil have det. Så slipper man for at det andet bøvl :D
Avatar billede ch007 Nybegynder
20. maj 2007 - 22:49 #10
Vi er meget tæt på at være der...

Prøv at se her:

http://www.houlborg.dk/eksperten/20070520/eksperten.jpg

Øveste er et screenshot fra en skærm med 1024x768.
Nederst er et screenshot fra 1280x800 pixels.

Menuen står ikke ens. Det vil sige at nogle brugere ser min menu forkert...

Altså hjemmesiden er bygget op af en tabel der er 1000 bred, denne er centret på hjemmesiden... Men Min menu starter jo fra venstre med at blive placeret...
Avatar billede weis Nybegynder
20. maj 2007 - 23:46 #11
jeg skal lige høre, på hvilken af de to billeder står menuen rigtigt, for screenposition="center"; skulle placere menuen i centrum også selvom du ændre browser størrelse, men er det meningen at den skal være placeret til "venstre i midten" (det nederste billede)
Avatar billede ch007 Nybegynder
22. maj 2007 - 09:17 #12
Den står rigtig på den nederste. Men jeg har ikke centeret. Jeg har brugt dit forslag med:

menuWidth = 500;
screenWidth = screen.width;

og ændret placeringen i left og top. Det skyldes at den ikke skal være helt centeret...

Problemet med at centre er at hvis man ikke har maksimeret vinduet og loader min side, så loades javascriptet centret. Når vinduet maksimeres tilpasser tabellerne sig, men ikke javascriptet... Prøv evt at se på: www.netgymnast.dk (Dette er en anden af mine sider med en menu). Her er menuen centeret. Prøv at lave vinduet mindre - tryk f5 og efterfølgende maksimere vinduet. Så står menuen skævt, ind til man trykker f5 igen...
Avatar billede weis Nybegynder
22. maj 2007 - 09:28 #13
hvis dit tabel er 1000 og du fx til have den til at være 10 fra venstre i denne tabel, så kan du bruge:

x = screen.width/2;
left=x-490;

så skulle den være 10 px fra venstre i din tabel. Men du vil stadig få det problem at menuen vil have en fast placering når browservinduet ændres, det er der nok ikke så meget at gøre ved. Ellers skal du finde en menu der er mere designet til dit behov eller lave en selv!
Avatar billede ch007 Nybegynder
22. maj 2007 - 12:38 #14
Det løser desværre ikke problemet, for som du skriver så har menuen en fast placering når browservinduet ændres.

Jeg må prøve at undersøge hvordan de gør på:

http://www.milonic.com/

Siden de kan lave det der...
Avatar billede weis Nybegynder
22. maj 2007 - 12:43 #15
De kan gøre det fordi de har en fast margin i venstre side... lige meget hvor stor din browser er så left afstanden altid den samme. menuen er ikke lavet til et centreret design!
Avatar billede ch007 Nybegynder
22. maj 2007 - 22:03 #16
Ja. Jeg lukker her og prøver at stille spørgsmålet i katagorien for JS... Tak for din hjælp.
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
Kurser inden for grundlæggende programmering

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