Avatar billede krogstrup Nybegynder
23. oktober 2004 - 22:16 Der er 5 kommentarer og
1 løsning

Angive left start position for DHTML menu via javascript funktion

Jeg bruger en ganske ordinær DHTML menu (www.milonic.com). Som mange andre menuer angives i en .js fil hvor menuen skal starte via en left og top position.

Da mit hjemmeside design er centreret på siden, har jeg kreeret en funktion til at finde det rigtige left startpunkt for menuen.

Denne funktion fungerer alene ganske udemærket og kan outputte det korrekte punkt.

Men når jeg indsætter kaldet til funktionen direkte i DHTML menuens js fil, kommer menuen ikke frem overhovedet.

Normalt angives left pos således:

left=80;

Jeg skriver i stedet:

left=findMenuLeftStart());
og har også prøvet
left=intLeftMenuPos;
hvor variablen selvfølgelig indeholder svaret fra min funktion.

Men intet virker....?!?

Nogen gode idéer ?
Avatar billede krogstrup Nybegynder
23. oktober 2004 - 22:17 #1
Min funktion ser således ud:

*********************************************

var ie4_check = (document.all && !document.getElementById) ?     true : false;
var ie5_check = (document.all && document.getElementById) ?     true : false;

function findMenuLeftStart(){
    if (ie4_check || ie5_check) {
        width = document.body.clientWidth;
        }
    else {
        width = window.innerWidth;
    }
   
    width = width/2-380
    return(parseInt(width));
}
Avatar billede krogstrup Nybegynder
23. oktober 2004 - 23:02 #2
fandt selv en løsning :-)
Avatar billede krogstrup Nybegynder
23. oktober 2004 - 23:30 #3
hmmm - har alligevel ikke fundet en løsning ØV ØV ØV

Hvis nogen kan hjælpe mig videre, opretter jeg selvfølgelig et nyt spm med points til jer/dig !
Avatar billede roenving Novice
24. oktober 2004 - 09:16 #4
Har du ikke en parantes for meget (eller er det bare en tavetosse her ?-)

left=findMenuLeftStart();
Avatar billede krogstrup Nybegynder
24. oktober 2004 - 09:55 #5
Godmorgen roenving :-)

njah - det er rigtig nok at der er en parantes for meget i mit kode eksempel øverst på siden, men jeg har nu testet det med kun een parantes, og her virkede det alligevel ikke.

Det er dog med hjælp fra Milonic.com´s forum lykkedes mig at få løst problemet via følgende kode:

function setLeftPosOfMainMenu(intLeftPos) {
    spos(gmobj("menu" + getMenuByName("Main Menu")),null,intLeftPos,null,null);
}

setLeftPosOfMainMenu(findMenuLeftStart());


spos er en function der faktisk var indbygget i DHTML applikationen til akkurat mit formål - nemlig dynamisk at ændre positionen for en allerede bygget menu.
Avatar billede krogstrup Nybegynder
24. oktober 2004 - 09:56 #6
reference såfremt det måtte interessere nogen:
http://www.milonic.com/forum/viewtopic.php?p=24652
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