02. oktober 2000 - 18:15Der er
5 kommentarer og 2 løsninger
Skærmbredde
Jeg har brug for at kunne aflæse skærmbredden, så jeg kan placere absoultte bokse på siden afhængig af opløsningen. Jeg er klar på, hvordan jeg aflæser bredden, men hvordan får jeg sat det ind i min style?
For det første er det måske bedre at arbejde med bredden på browservinduet, da mange mennesker med høj opløsning ikke er så vilde med fullscreen... Værdierne her hedder document.body.offsetWidth (ell. offsetHeight) til IE og window.innerWidth/innerHeight til NS.
Når du så har værdierne (uanset hvilke af dem du helst vil bruge) skal du så sætte dem på objekterne, først bygger vi lige et par referencer der virker til begge browsere: IE = document.all? true:false; boks1CBR = IE?document.all[\'boks1\']:document.boks1 boks1CSS = IE?boks1CBR.style:boks1CBR; og ligeså med boks 2. (Hvis dine bokse er inden i andre lag skal netscape have den fulde reference, f.eks. document.yderboks.document.boks1) Derefter kan vi så placere dem: boks1CSS.left = BreddePåHeleMøget - BreddePåBoks1 , hvor BreddePåBoks1 = IE? boks1CBR.offsetWidth:boks1CBR.document.width. Det eneste der så mangler er at sætte POSITION property\'en på de bokse der skal positioneres til absolut, enten i en stylesheet eller <div id=boks1 style=\"POSITION:absolute;\">
>>Ole Kære Ole - du må ikke være i tvivl om at jeg nærer endog meget stor respekt for din kunnen og udemærket ved at du generelt er en del bedre en mig til stort set det hele, MEN her synes jeg nu nok at du er lidt for (a) hurtig og/eller (b) halv-arrogant. ifølge developer.netscape er notationen document.layernavn og document.layers[\'layernavn\'] ligeværdig. Hvis du har en god grund til at anvende den anden må du meget gerne sige til (..jeg vil da også gerne blive klogere), men indtil da har jeg ALDRIG haft problemer med document.layernavn.. Mth. boks1CSS.left= den ene eller anden løsning antog jeg at pollas ville have boksene højrestillet - derfor min ide. Hvis din løsning skal centrere dem burde det vel iøvrigt være BreddePåHeleMøget/2-BreddePåBoks1/2...
nixen >> Hehe...kender godt den med at fare i tasterne lidt for hurtigt...no sweat! :o)
Nu er jeg ikke helt klar over, om det kun går på sidste linie, men jeg kan altså ikke tro, du aldrig har haft problemer med \'document.layernavn\' - og jeg kan slet ikke forestille mig, der står nogen steder hos NetScape, at det er ligeværdigt med \'document.layers[\'layernavn\']\'. Det er derimod \'document.layers.layernavn\'. Array- og punktnotation er ligeværdige, men man kan ikke udelade \'layers\'. /mvh
PS: Det var absolut ikke min mening at være halv-arrogant. Havde jeg ønsket at optræde arrogant, så havde jeg gjort det helt og fuldt! Jeg prøver at bestræbe mig på at gøre tingene ordentligt...ikke noget \'halvt\'!...*LOL* ;o))
Ole>>*hæhæ* godt så - jeg kan også bedst lide at gøre tingene ordentligt..!
Nej, jeg fik måske også læst dit svar lidt for hastigt igennem, men det jeg mener er at følgende funktioner for mig fungerer 100% ens: <html><head><style type=text/css>#lag {POSITION:absolute;}</style> <script language=\"Javascript\"> IE = document.all? true:false; function doc_onload1() { lagreference = IE? document.all[\'lag]:document.layers[\'lag\']; } function doc_onload2() { lagreference = IE? lag:document.lag; } </script></head> <body onload=\"doc_onload1/2\"><div id=lag></div></body></html> Jeg har i de sidste måneder kæmpet med netscapes dom som, uanset om man mener den er værre eller bedre, under alle omstændigheder adskiller sig noget fra IE\'s dom (som er den jeg har lært dhtml med...) - og er kommet et godt stykke forbi besværligheder med at referere objekter og har aldrig (læs:\"ALDRIG\") oplevet at netscape ikke opførte sig som jeg mente den skulle med denne notation (som iøvrigt er den eneste jeg har brugt..). NS4.x er fuldt ud istand til at forstå den - på samme måde som IE ikke behøver document.all[\'layernavn\']; det er for mig en gammel vane der hænger ved men altid bliver slettet ved kodeoptimering uden probs..
Schhhhhh...hør lyden af Flovmand, der tygger sine ord...! :o)
Nu har jeg testet og du har jo ret! Det virker i NS uden \'layers\' - men jeg mener nu stadig ikke, jeg nogensinde er stødt ind i det i dokumentationen hos NS - tværtimod..hmmm(?) Under alle omstændigheder er det da skønt at blive belært, når man tager fejl - så kan man håbe, det ikke sker igen...på DET punkt...Hehe!
Skønne afvæbnende ord i de to første linier i sidste afsnit i din seneste kommentar. Du fortjener næsten at slippe for \'lyrikken\' til min \'kendingsmelodi\' - så jeg vil nøjes med at fløjte den :o)
/mvh The NetScape Warrior.
Synes godt om
Ny brugerNybegynder
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.