Avatar billede mc.lucifer Praktikant
16. juni 2003 - 23:00 Der er 14 kommentarer og
2 løsninger

Styre placering af DHTML menu

Jeg skal lige høre hvad er den bedstemåde at styre en menu´s plasering på for at designet holder sit design i forskellige browsere

Jeg har nemlig lidt problemmer med en DHTML menu der står perfekt i 1600 * 1200 men ændres opløsningen til noget andet, kan man ikke låde den fast i en tabel

www.romdata.dk/bogo    Hvis i vil se


MC
Avatar billede mc.lucifer Praktikant
16. juni 2003 - 23:00 #1
de 1600 * 1200 er i fuld skærm

MC
Avatar billede brokkehoved Nybegynder
16. juni 2003 - 23:16 #2
1: Jeg troede at det staves som "B&O", og IKKE stavedes som "B og O"...

2: Hvorfor har du Thomas Brattli´s META-koder på dit website???

3: Placeringen af menuen er absolut. Altså fastsat ud fra et 0,0 punkt (punktet i øverste venstre hjørne). Derfor skal du lave om på hele dit website, hvis du vil have den menu. Ellers find en anden menu.
Fremgangsmåden er, at du:
- ENTEN vil lave et fuldskærms-website (hvor hoved-elememnterne er placeret i %)
- eller også laver du en hovedtabel som er max. 750 px i bredden og placeret i midten,
  -eller også laver du websitet i frames. Vælger du dette, kan du også bruge din menu, da midter-framen burde være ca. 750 px, og den har en nyt 0,0 punkt, hvorfra du nu kan placere din menu.

For du skal huske at designe websites til max. 750 px, i bredden.
 
Sådan skal du lære at tænke, hvis du vil lave websites.  :-)
Avatar billede brokkehoved Nybegynder
16. juni 2003 - 23:18 #3
Jo, du kan selvfølgelig også vælge placere hele dit website i venstre side af skærmen... så kan du stadig bevare din menu.
Avatar billede skovenborg Nybegynder
16. juni 2003 - 23:27 #4
En god ide er at bruge en relativ positionering med % i stedet for pixels. På den måde passer det hele sådan nogenlunde i alle opløsninger
Avatar billede brokkehoved Nybegynder
16. juni 2003 - 23:37 #5
-->skovenborg:
Han kan IKKE placere sin menu vhj. af %, da selve menuen er en ID, som derfor er placeret ud fra en absolut placering. Altså ud fra 0,0 punktet.  ;-)
Avatar billede mc.lucifer Praktikant
16. juni 2003 - 23:46 #6
Så ændrede et par vædier til Center og så virkede det. nu bliver det bare sjovt om det gør det i oprah og om validatoren giver go for det, men det må blive i morgen

Go nat og tak for hjælpen,

skovenborg svare du også lige

MC
Avatar billede roenving Novice
17. juni 2003 - 08:23 #7
Til flydende layers må du måske ud i dette (ikke særligt kønne):

function posText(){
  for(i=1;i<=men;i++){
    punkt=document.getElementById('menupunkt'+i)
    objX=parseInt(punkt.offsetLeft)+parseInt(punkt.offsetParent.offsetLeft) +parseInt(punkt.offsetParent.offsetParent.offsetLeft) +parseInt(punkt.offsetParent.offsetParent.offsetParent.offsetLeft) +45+"px";
    objY=parseInt(punkt.offsetTop)+parseInt(punkt.offsetParent.offsetTop)+parseInt(punkt.offsetParent.offsetParent.offsetTop)+parseInt(punkt.offsetParent.offsetParent.offsetParent.offsetTop)+5+"px";
    obj=document.getElementById('menutext'+i);
    obj.style.left=objX;
    obj.style.top=objY;
  }
}

hth
jes
Avatar billede skovenborg Nybegynder
17. juni 2003 - 13:48 #8
øhm, ja okay. Det kan godt være du ikke umiddelbart kan bruge procent, men det nogen gange nødvendigt for at det skal se ens ud.
Avatar billede olebole Juniormester
18. juni 2003 - 11:49 #9
<ole>

En god måde at løse det på, er at lægge en 1*1px transparent gif et bestemt sted på siden - f.eks. i en tabel.
På onload og onresize finde du ud af præcis, hvor den ligger og placerer alle dine menu-elementer ud fra disse koordinater.

Et script til at finde positionen på et hvilket som helst element på siden:

function getPos (elm) {
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy};
}

Så kan du finde positionen af billedet 'ib' med:

var xy = getPos("ib");
alert("x= "+xy.x+" - y= "+xy.y);

/mvh
</bole>
Avatar billede mc.lucifer Praktikant
24. juni 2003 - 16:37 #10
Har ligesom mistet denne trå i interessen derfor har jeg lukket

MC
Avatar billede webrex Nybegynder
16. december 2003 - 20:38 #11
Hvad gjorde man så for at positionere den ordentligt dvs så den ikke flyttede sig hele tiden ....please... er der ingen der kan svare på det
??
Avatar billede mc.lucifer Praktikant
16. december 2003 - 20:40 #12
Jeg redesignede mit site.
og venstre stillede hele siden det var hvad jeg gjorde

MC
Avatar billede webrex Nybegynder
16. december 2003 - 20:40 #13
mc.lucifer du må vide det. Hvis du poster et svar jeg kan bruge er jeg villig til at give MANGE point!!! Svar evt på spørgsmål oprettet af webrex i december 2003 positionering drop down menu!!!
Avatar billede mc.lucifer Praktikant
16. december 2003 - 20:42 #14
Altså en DHTML menu har nogle VAR som kan sættes det er dem du skal sætte til hvor på siden du vil smide din menu

MC
Avatar billede weblance Nybegynder
27. juni 2008 - 17:57 #15
Sidder lige og makker med at få coolmenu det sted hvor jeg vil have den, og faldt over denne tråd. Olebole's script ser interessant ud - men jeg har stort set ingen forstand på javascript.

Så kan jeg være så fræk at bede om et eksempel for dummies :)
Avatar billede roenving Novice
28. juni 2008 - 11:51 #16
F.eks. sådan: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tomt dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
#minDiv{width:330px;height:220px;position:relative;margin:auto;background:red;}
#posDiv{width:99px;height:110px;background:url(http://www.eksperten.dk/img/elogo.png);position:absolute;font-weight:900;}
</style>
<script language="javascript" type="text/javascript">
window.onload = function(){posElm()};
window.onresize = function(){posElm()};
function posElm(){
  var parElm = document.getElementById("minDiv");
  var elm = document.getElementById("posDiv").style;
  var startpos = getPos(parElm);
  elm.left = startpos.x + 22 + "px";
  elm.top = startpos.y + 30 + "px";
}
function getPos(elm) {//jumper
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy}
}
</script>
</head>

<body>
<div id="minDiv">Dette element flytter sig ved resize, da den har auto-margin</div>
<div id="posDiv">-- og denne følger med, selvom den ikke er bundet inde i den anden</div>
</body>

</html>
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