Avatar billede izemate Nybegynder
22. februar 2005 - 10:42 Der er 18 kommentarer og
3 løsninger

Anden menu placering (coolmenu)

Hej.

Jeg har en CoolMenu.
Mit problem er at man skal definere hvor menuen skal placeres efter px eller % fra venstre kant og toppen.

Jeg vil gerne have at den bare skal ligge i den <td> man ligger menuen i.

Her er stedet for hvor definere placeringen

//Placement properties
oCMenu.rows=0 //This controls whether the top items is supposed to be laid out in rows or columns. Set to 0 for columns and 1 for row - Value 0 || 1
oCMenu.fromleft=0 //This is the left position of the menu. (Only in use if menuplacement below is 0 or aligned) (will change to adapt any borders) - Value: px || "%"
oCMenu.fromtop=0 //This is the left position of the menu. (Only in use if menuplacement below is 0 or aligned) (will change to adapt any borders) - Value: px || "%"
oCMenu.pxbetween=0 //How much space you want between each of the top items. - Value: px || "%"

her kan menuen ses
http://www.media4.dk/menu/menu13.html

Jeg har lagt den i den miderste tabel men som i kan se ligger den sig bare ud i kanten.

På forhånd tak

<\\izemate
Avatar billede synfab Nybegynder
22. februar 2005 - 10:52 #1
http://www.dhtmlcentral.com/projects/coolmenus/?m=31

lidt nede under "other exsamples" er der 3 eksempler på table-placement
Avatar billede izemate Nybegynder
22. februar 2005 - 11:07 #2
synfab > jeg har prøvet at lege lidt med CSSen men kan ikke få det til at virke.
måske du kan hjælpe ?

<\\izemate
Avatar billede izemate Nybegynder
22. februar 2005 - 11:09 #3
synfab > eller du kan måske vise mig hvordan man får table placement1 til at kører til højre istedet for venstre.

<\\izemate
Avatar billede synfab Nybegynder
22. februar 2005 - 11:20 #4
tricket er at placere et billede eller et andet objekt der hvor du ønsker din menu, og så angive objektets id i funktionen "findPos":

function findPos(){
  if(bw.ns4){  //Netscape 4
    x = document.layers.layerMenu.pageX
    y = document.layers.layerMenu.pageY
  }else{ //other browsers
    x=0; y=0; var el,temp
    el = bw.ie4?document.all["DIT_OBJ"]:document.getElementById("DIT_OBJ");
    if(el.offsetParent){
      temp = el
      while(temp.offsetParent){ //Looping parent elements to get the offset of them as well
        temp=temp.offsetParent;
        x+=temp.offsetLeft
        y+=temp.offsetTop;
      }
    }
    x+=el.offsetLeft
    y+=el.offsetTop
  }
  //Returning the x and y as an array
  return [x,y]
}
pos = findPos()

Herefter kan du placere menu således:

oCMenu.fromLeft=pos[0]
oCMenu.fromTop=pos[1]
oCMenu.onresize="pos = findPos(); oCMenu.fromLeft=pos[0]; oCMenu.fromTop=pos[1]"
Avatar billede izemate Nybegynder
22. februar 2005 - 11:23 #5
det du skriver der er det ikke det samme som den originale ? altså at man placere menuen alt efter hvormange px fra venstre / top?

det vil jeg nemlig ikke have da det ikke kan bruges når man har forskellige opløsninger.
den skal bare aligne sig i tabellen
Avatar billede synfab Nybegynder
22. februar 2005 - 11:42 #6
du skal bare aligne det objekt du bruger i findPos()-funktionen
Avatar billede izemate Nybegynder
22. februar 2005 - 12:00 #7
synfab > Jeg er ikke så god til det javascript halløj. Vil du lave menuen om så den passer til tabellen? hvis jeg hæver point satsen til en 130 point ?
Ellers skriv hvis du vil have flere point.

Menuen kan hentes her
www.media4.dk/menu/menu13.zip

På forhånd tak
<\\izemate
Avatar billede synfab Nybegynder
22. februar 2005 - 12:08 #8
jeps - jeg kigger på det om en times tid
Avatar billede izemate Nybegynder
22. februar 2005 - 12:21 #9
super.
Avatar billede synfab Nybegynder
22. februar 2005 - 13:38 #10
har nu hentet filen men er ikke helt med på hvad det er du er ude efter...
Avatar billede synfab Nybegynder
22. februar 2005 - 13:46 #11
se evt. hvordan det er gjort her: http://www.mas-hovik.dk/
Avatar billede izemate Nybegynder
22. februar 2005 - 17:25 #12
hmm synes eller det var godt forklaret i spørgsmålet.

Kort og godt:
Det jeg vil have er at menuen skal ligge i en tabel.

<\\izemate
Avatar billede roenving Novice
22. februar 2005 - 17:30 #13
Sæt id på tabelcellen, og smid det ind i stedet for "DIT_OBJ" ...
Avatar billede izemate Nybegynder
22. februar 2005 - 17:38 #14
jeg er med på id på tabelcellen men ved ikke helt hvad du mener med "DIT_OBJ" hvor det skal defineres hennne.?
Avatar billede izemate Nybegynder
22. februar 2005 - 20:53 #15
jeg har prøvet med den div og en en style=" position: absolute;" men det virker kun i IE :-\
Avatar billede izemate Nybegynder
22. februar 2005 - 22:34 #16
jeg lukker igen.. løste problemet ved at bruge en anden menu
takker for jeres hjælp.. smider i ikke lige et svar ? så kan vi lige deles om pointne :-)
Avatar billede roenving Novice
23. februar 2005 - 16:35 #17
Jamen, det kan da bare løses sådan:

function findPos(){
  if(bw.ns4){  //Netscape 4
    x = document.layers.layerMenu.pageX
    y = document.layers.layerMenu.pageY
  }else{ //other browsers
    var el = bw.ie4?document.all["DIT_OBJ"]:document.getElementById("DIT_OBJ");
    for(var x=y=0;el!=null;x+=el.offsetLeft,y+=el.offsetTop,el=el.offsetParent);
}
  //Returning the x and y as an array
  return [x,y]
}
pos = findPos();


-- og cellen skrives så sådan:

<td id="DIT_OBJ">menuen !-)</td>
Avatar billede roenving Novice
23. februar 2005 - 16:36 #18
-- og els velbekomme '-)
Avatar billede izemate Nybegynder
23. februar 2005 - 16:45 #19
så mangler vi lige synfab
Avatar billede synfab Nybegynder
23. februar 2005 - 16:48 #20
sådan :o)
Avatar billede roenving Novice
23. februar 2005 - 17:16 #21
-- tak for point ;~}
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