"Chrisser" <cbj@egdatainform.dk> skrev i en meddelelse
news:4731b43d$0$90275$14726298@news.sunsite.dk...
> Hej
>
> Jeg er ved at lave noget hvor jeg skal huske placering og højde / bredde
> på et popupvindue, som jeg åbner med bestemte mål, men som brugeren selv
> kan ændre ved at trække i vinduet. Det vil sige at jeg ved lukning af
> vinduet skal gemme disse mål, og resize og placere vinduet med samme mål
> næste gang brugeren åbner vinduet.
>
> Jeg troede det ville være nemt, men åbenbart ikke.
>
> Hvis jeg, når jeg åbner mit vindue, laver en window.resizeTo(500,500) (
> det er bare min egen test ), når jeg så ved lukning af vinduet forsøger at
> finde frem til de selv samme værdier ( jeg trækker ikke selv i vinduet ),
> så kan jeg ikke finde dem,
> det jeg kan finde er:
>
> document.body.offsetWidth giver 492
> document.body.clientWidth giver 488
> document.body.offsetHeight giver 473
> document.body.clientHeight giver 469
>
> Det er sådan at dette skal køre i et lukket miljø hvor browser er IE -
> sandsynligvis kun IE 7 - men i hvert fald ikke ældre ens IE6 - derfor
> troede jeg egentlig ikke det ville volde mig problemer overhovedet, men
> der blev jeg klogere.
>
> Hvad kan jeg gøre for at få det rigtigt ? Jeg har Googlet men kan ikke
> finde noget konkret på andre kald, eller eventuelt en korrektion af
> værdierne.
>
> Det siger jo sig selv at det skal passe indtil sidste pixel hvis det skal
> virke, ellers kommer brugeren i en situation hvor det krymper eller vokser
> samt flytter sig en smule for hver åbning/lukning - og efter 100 åbninger
> ser det sgu nok ikke godt ud
>
> Mvh
> Chrisser
>
Det ser da meget rigtigt ud...
clientWidth er pladsen inde i elementet, mens offsetWidth er den lads en
parent skal afsætte til elementet.
Du har padding, broder og margin udenom "client".
For body har du desuden selve browserens rammer og muligvis scrollbarer.
Birger