/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
menu centered
Fra : Morten kruse


Dato : 13-04-02 13:02

Hejsa.

Jeg er ved at implemtere en horisontical menu på et website. Jeg
er dog løbet ind i et problem som jeg håber nogle af jer kan
hjælpe mig med. Menuen er sat til at have absolute position, men
jeg skal have den rettet til at tilpasse dens placering alt efter
browservinduets størelse, da sitet er centreret.

Koden er som følger:

var NoOffFirstLineMenus=3; //set number of main menu items
   var LowBgColor='#385878';
   var HighBgColor='#E2EAF0';
   var FontLowColor='white';
   var FontHighColor='black';
   var BorderColor='#7CA3BD';
   var BorderWidth=1;
   var BorderBtwnElmnts=1;
   var FontFamily="arial, verdana"
   var FontSize=8;
   var FontBold=0;
   var FontItalic=0;
   var MenuTextCentered=0;
   var MenuCentered='left';
   var MenuVerticalCentered='top';
   var ChildOverlap=.1;
   var ChildVerticalOverlap=.1;
   var StartTop=70; //set vertical offset
   var StartLeft=128; //set horizontal offset
   var VerCorrect=0;
   var HorCorrect=0;
   var LeftPaddng=3;
   var TopPaddng=2;
   var FirstLineHorizontal=1; //set menu layout (1=horizontal,
0=vertical)
   var MenuFramesVertical=1;
   var DissapearDelay=500;
   var TakeOverBgColor=1;
   var FirstLineFrame='self';
   var SecLineFrame='self';
   var DocTargetFrame='self';
   var WebMasterCheck=0;

..... Er der nogle som kan hjælpe mig med at rette den?

På forhånd tak
Morten Kruse



--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

 
 
Johan Holst Nielsen (13-04-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 13-04-02 16:53

> Jeg er ved at implemtere en horisontical menu på et website. Jeg
> er dog løbet ind i et problem som jeg håber nogle af jer kan
> hjælpe mig med. Menuen er sat til at have absolute position, men
> jeg skal have den rettet til at tilpasse dens placering alt efter
> browservinduets størelse, da sitet er centreret.

Når du kører en absolute position, så kan du ikke centrere. Så det er
ikke muligt.
Hvis man derimod bruger relative, så virker netscape ikke med menuen.
.

Så den eneste mulighed er reelt at regne det ud via et JavaScript, og
lade dette script
placere menuen hver gang vinduet resizes! Men det er mere indviklet, og
så skal jeg reelt
have hele koden til hele scriptet.
Men det tror jeg nu ikke du kan få ret mange til at lave gratis. Tror
det er nemmere at bygge menuen op forfra!

mvh
Johan


Jakob Andersen (13-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-04-02 18:33

"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:3CB8545B.3FB12EEF@weknowthewayout.com...
> Så den eneste mulighed er reelt at regne det ud via et JavaScript, og
> lade dette script

Lad os sige at man har en indholdsrude der er 500 pixels bred:

<script type="text/javascript">
// Navnet der står i id attributten på det element
// du ønsker centreret
elemNavn = new String( 'mitCentreredeelement' );

// Bredden på det element du ønsker centreret
elemBredde = new Number( 500 );

function Centrer(){
Vinduebredde = new Number( 0 );
VindueBredde = (document.all) ? document.body.clientWidth :
window.innerWidth;
document.getElementById(elemNavn).style.left = (VindueBredde/2) -
(elemBredde/2);
}
</script>

Og så skal man lige sætte Centrer() funktionen ind i både onload og onresize
sådan her:

<body onload="Centrer();" onresize="Centrer();">

PS: Jeg har kun testet scriptet i IE6.
--
Jakob Andersen



Jakob Andersen (13-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-04-02 20:20

"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:a99q1u$1j56$1@news.cybercity.dk...
> PS: Jeg har kun testet scriptet i IE6.

Jeg brugte lige lejligheden til at installere Netscape 4, Netscape 6.2 og
Opera 6.01 på min maskine, og så tilpassede jeg lige scriptet så det virker
i disse(+IE6), så her er en ny scriptkode. Og man skal stadig huske onresize
og onload på body-tagget:

<script type="text/javascript">
//Vi tilføjer dette lille script for at fixe et problem i
//Netscape når der resizes med positionerede elementer
if (document.layers) {
Bredde = window.innerWidth
Hoejde = window.innerHeight
}

// Navnet der står i id attributten på det element
// du ønsker centreret
elemNavn = new String( 'mitCentreredeelement' );

// Bredden på det element du ønsker centreret
elemBredde = new Number( 500 );

//Antal pixels fra toppen til dit element
elemTopMargin = new Number( 100 );

function Centrer(){
VindueBredde = new Number( 0 );
VindueBredde = (document.all) ? document.body.clientWidth :
window.innerWidth;
if( document.layers ){
document.layers[elemNavn].moveTo( (VindueBredde/2) - (elemBredde/2),
elemTopMargin);
//Et lille fix for at Netscape ikke
//omformaterer indholdet af boksen når man resizer
if (Bredde != window.innerWidth || Hoejde != window.innerHeight){
document.location.href = document.location.href
}
}else{
document.getElementById(elemNavn).style.left = (VindueBredde/2) -
(elemBredde/2);
document.getElementById(elemNavn).style.top = elemTopMargin;
}
//Hvis der køres opera skal vi lige sætte en Timeout
//på denne funktion da opera ikke er så glad for onresize eventen
if( window.opera ){
setTimeout("Centrer()",500);
}
}
</script>

--
Jakob Andersen



Johan Holst Nielsen (14-04-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 14-04-02 10:54

> Og så skal man lige sætte Centrer() funktionen ind i både onload og onresize
> sådan her:

Men det burde stadig ikke virke? Gør det?
Når f.eks. menuen "popper" ned, bliver den formentlig sat et forkert sted? Eller
tager jeg fejl?

mvh

Johan


Jakob Andersen (14-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 14-04-02 11:09

"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:3CB951B9.7FABFC86@weknowthewayout.com...
> Men det burde stadig ikke virke? Gør det?
> Når f.eks. menuen "popper" ned, bliver den formentlig sat et forkert sted?
Eller
> tager jeg fejl?

Det kommer an på hvordan menuen er opbygget. Hvis den er opbygget med at de
forskellige elementer er positioneret absolut skal man selvfølgelig også
sørge for at beregne deres position men det burde ikke være så svært.

--
Jakob Andersen



Johan Holst Nielsen (15-04-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 15-04-02 11:56

> Det kommer an på hvordan menuen er opbygget. Hvis den er opbygget med at de
> forskellige elementer er positioneret absolut skal man selvfølgelig også
> sørge for at beregne deres position men det burde ikke være så svært.

Nej, men så ville de være bedre at den selv regnede elementet bredde ud Rent
generelt, da de er forskellige alt efter om der står "Sko" eller "Skopudser"

Tror selv jeg har leget lidt med den menu han viser... og der er det netop
sådan!

mvh
Johan


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste