Avatar billede jesper-moeller Nybegynder
13. oktober 2005 - 21:31 Der er 12 kommentarer og
1 løsning

kan ikke sætte width på style

Kan ikke sætte width på en style med en variabel
Jeg kan kun få det til at virke med tal

var nwidth = document.getElementById('controle').style;
nwidth.width = pagewidth;
virker ikke
men
bruger jeg feks '200px' så virker det
jeg syntes jeg har prøvet alt... med og uden '' "" osv...
intet syntes at ville
en alert vise at den ved hvad pagewidth er

(Gælder i alle mine browsere)
Avatar billede horsmark Nybegynder
13. oktober 2005 - 21:39 #1
var nwidth = document.getElementById('controle').style;
nwidth.width = pagewidth + "px";

burde virke pga. at den variabel pagewidth du har ikke har "px" med :-)
Avatar billede jesper-moeller Nybegynder
13. oktober 2005 - 21:41 #2
Tester og vender tilbage :-)
Avatar billede olebole Juniormester
13. oktober 2005 - 22:18 #3
<ole>

CSS kræver altid enheder - med mindre værdien er 0. Indeholder 'pagewidth' en integer, må du derfor sætte enhed på den, for at få den til at virke  ;o)

Stammer 'pagewidth' fra noget offset-, client- eller scrollWidth, er der netop tale om en integer. Derimod kan du godt sige:

var w = ELEMENT_A.style.width;
ELEMENT_B.style.width = w;

- da 'w' så allerede indeholder værdien ... f.eks: '123px'  :)

/mvh
</bole>
Avatar billede olebole Juniormester
13. oktober 2005 - 22:20 #4
- og der skulle naturligvis stå:

    "- da 'w' så allerede indeholder enheden ... f.eks: '123px'  :)"
Avatar billede jesper-moeller Nybegynder
13. oktober 2005 - 22:34 #5
'pagewidth' kommer fra -> var pagewidth = document.body.offsetWidth*normwidth

Så PX hjalp...*S* ....takker

(Detsvære løste det ikke det egenlige problem...*Snøft*)

Ole ...svar lige et smid hvis du vil have del
Avatar billede olebole Juniormester
13. oktober 2005 - 22:38 #6
Ellers tak, det er helt klart 'hestens'. Jeg øvlebøvlede bare lidt over temaet  =)
Avatar billede jesper-moeller Nybegynder
13. oktober 2005 - 22:41 #7
Oki.... Jamn du er da velkommen til at øvlebøvle over mit egenlige problem...*S*

og til hesten..... Køb nu ikke Havre for alle pointsne...*S*
Avatar billede olebole Juniormester
13. oktober 2005 - 22:51 #8
- det er faktisk en væsentlig detalje. Da CSS kræver enheder, er værdier, vi får returneret fra et elements style-objekt altid med enheder.
Det er ikke tilfældet, når du tester med offset-, client- eller scrollWidth/Height. Her får vi returneret en integer.

Det har selvfølgelig den betydning, du lige har opdaget, men der kan også opstå problemer, når man skal regne videre med værdier, der er hentet fra et style-objekt.
Så skal du huske at konvertere værdien til en integer, først:

var w = ELEMENT_A.style.width;
w = parseInt(w) * 20;
ELEMENT_B.style.width = w + "px";

- og da 'w' nu indeholder en integer, skal du huske at klistre enhed på igen.

*suk* ...... livet er et besværligt sted at opholde sig  =]
Avatar billede jesper-moeller Nybegynder
13. oktober 2005 - 22:59 #9
Dvs. at

var pagewidth = document.body.offsetWidth*normwidth

skulle hede

var pagewidth = document.body.offsetWidth;
pagewidth = parseInt(pagewidth)*normwidth;

?

Btw ..."integer"....det ord kan jeg ikke lige oversætte/forstå ??
Avatar billede horsmark Nybegynder
14. oktober 2005 - 09:01 #10
thx for points og yes lyt til olebole ... ( én af grundene til at jeg kan det jeg kan idag )
Avatar billede jesper-moeller Nybegynder
14. oktober 2005 - 12:15 #11
Jeps...
Ole er helt sikkert hver at lytte på...*S*
Manden har jo oftes ret....
Avatar billede roenving Novice
14. oktober 2005 - 16:26 #12
>>jesper-moeller 13/10-2005 22:59:15

Nej !-)

offsetWidth er en et integer (et heltal !-), så det bhøver du ikke at konvertere til et tal ...

-- men havde du aflæst den tilsvarende style-værdi, ville den have indeholdt enheden og skulle derfor konverteres til et tal !o]

F.eks.

element.offsetWidth = 123

element.style.width = '123px';
Avatar billede jesper-moeller Nybegynder
14. oktober 2005 - 16:56 #13
Oki...
Tror så småt jeg er ved at have fod på det...
(håber jeg) *G*
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester