UrMeMedlem sedan apr. 2001762 inlägg Just nu använder jag denna bit kod på min hemsida.
Men självklart verkar det inte funka för Macintosh.. som är ganska viktigt.
document.getElementById("Meny").style.left = getClientWidth() / 2 + 308 + "px";
Varför funkar inte detta på Mac?
Eller finns det nån liknande kod för Macintosh IE5.1? .. spelar ingen roll om den inte funkar på PC.. huvudsaken den funkar på macintosh iallafall :)
Ett alternativ som skulle vara bäst är ju att kunna få in längden i style-saken som har tagits upp några trådar nedanför.
#Meny { left: XXX; top: 422px; position: absolute; visibility: hidden; z-index: 1 }
Tack på förhand!
UrMeMedlem sedan apr. 2001762 inlägg getElementById verkar ju funka på macintosh.. men inte just det där jag har skrivit.. problemet är att menyn lägger sig längst bort till höger på macintosh..
Funktionen för att räkna ut bredden på fönstret är:
function getClientWidth(){
if(document.all){
return document.body.clientWidth;
} else {
return window.innerWidth;
}
}
Men det är när man sätter samman getElementById och getClientWidth funktionen som det blir nåt strul verkar det som
document.getElementById("Meny").style.left = getClientWidth()/2+300 + "px";
Ingen som har en idé om vad som strular?
UrMeMedlem sedan apr. 2001762 inlägg Det där scriptet som kollar bredden på fönstret inte funkar så bra ändå på macintosh.. eller det fungerar men problemet är att den visar menyn alldeles för långt till höger även fast jag satt left positionen som getClientWidth/2 ....
Snacka om huvudbry nu :)
JojoxxMedlem sedan juni 20004 308 inlägg Halva fönstrets bredd + 300 pixel borde bli rätt långt till höger. För att kolla om funktionen fungerar i IE 5.1 för Mac kan du använda;
alert(getClientWidth());
Så skall du få reda på fönstrets bredd. Sedan för att vara säker att webbläsaren behandlar de 2 första värdena som numeriska och inte text (eftersom du lägger till "px" i samma sats) kan du använda sätta dem inom parentes, och för att se till så du inte får ett decimaltal som svar kan du använda Math.round -- det är svårt att placera ett lager på 123,5 px ;)
document.getElementById("Meny").style.left = Math.round(getClientWidth()/2+300) + "px";
UrMeMedlem sedan apr. 2001762 inlägg Done! :e
Problemet var att jag hade lagt menyn som skulle visas i en table, och pga detta så verkar det som IE på macintosh räknar helt galet vart den skulle ligga. Däremot funkar det superbra nu när jag har lagt menyn precis under bodytaggen :)
Dock så använder jag Math.round och lite paranteser nu också :)
Tack!