/ 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
Problemer med clientWidth & offsetWidth
Fra : Chrisser


Dato : 07-11-07 13:49

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



 
 
Jens Peter Karlsen [~ (07-11-2007)
Kommentar
Fra : Jens Peter Karlsen [~


Dato : 07-11-07 16:19

window.width og window.height.
Hvis popups er sat til at åbne i en ny tab i IE7 vil det ikke have
nogen virkning.

Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.

On Wed, 7 Nov 2007 13:49:01 +0100, "Chrisser" <cbj@egdatainform.dk>
wrote:

>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,

Chrisser (08-11-2007)
Kommentar
Fra : Chrisser


Dato : 08-11-07 08:33

Jens Peter Karlsen [FP-MVP] wrote:
> window.width og window.height.
> Hvis popups er sat til at åbne i en ny tab i IE7 vil det ikke have
> nogen virkning.

Disse virker ikke - de returnerer undefined

Mvh
Chrisser



Birger (07-11-2007)
Kommentar
Fra : Birger


Dato : 07-11-07 16:34

"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



Chrisser (08-11-2007)
Kommentar
Fra : Chrisser


Dato : 08-11-07 08:36

Birger wrote:

> 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.

Det kan da godt være du synes det ser rigtigt ud, og jeg ved også godt at
den fraregner nogle ting, men som jeg skrev så skal jeg bruge den værdi der
svarer til den værdi jeg bruger når jeg åbner vinduet, og derfor er det ikke
rigtigt - derfor spørger jeg hvordan jeg får selv samme værdi ud igen

Mvh
Chrisser



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

Månedens bedste
Årets bedste
Sidste års bedste