Avatar billede fixxxer Nybegynder
02. marts 2005 - 20:39 Der er 4 kommentarer og
1 løsning

margin fra stylesheet

Jeg har et stylesheet, style.css, med et element hvor jeg sætter en margin-left: 10px;

Hvis jeg vil hente denne værdi via javascript, med enten:

document.getElementById('mitelement').marginLeft

eller

document.getElementById('mitelement').style.marginLeft

får jeg en blank værdi.

Sætter jeg imiddlertidig margin-left direkte ind i elementetes style-attri, finder jeg fint margin-left værdien med

document.getElementById('mitelement').style.marginLeft


Hvad skal jeg gøre for at finde margin-left værdien via JavaScript, når min værdi er gemt i css-fil?
Avatar billede olebole Juniormester
03. marts 2005 - 08:11 #1
<ole>

Det kan du ikke. Når du sætter en style-property inline på elementet, kan du aflæse den på den måde, du viser. Så sættes property'en nemlig direkte på elementets style-objekt ... det sker ikke gennem CSS.

JavaScript har derimod ingen direkte metoder til at hente den slags, men der er bl.a. et par browser-specifikke metoder (dokumentet indeholder et element med id="hest"):

    var hyp = document.getElementById("hest");
    if (hyp.currentStyle) alert( hyp.currentStyle.width );  // IE
    else alert( document.defaultView.getComputedStyle(hyp,'').getPropertyValue("width") ); // Moz

... men det er temmelig besværligt, at finde ud af, hvad der står i ens stylesheet - og Moz returnerer ikke en relativ størrelse, men den beregnede dimension i px ... og helt som ventet returnerer Moz farver i RGB, mens IE returnerer samme i HEX.

/mvh
</bole>
Avatar billede roenving Novice
03. marts 2005 - 11:53 #2
-- stadig kun i nogle browsere, kan man også traversere hele stylesheet-arrayet, traversere selectors, og traversere properties ...

-- men det er en ordentlig omgang, og virker såvidt jeg ved f.eks. ikke i Opera !-)
Avatar billede fixxxer Nybegynder
07. marts 2005 - 01:21 #3
Ok, ja det er for besværligt, for så lidt. Smed værdien gennem javascript og det virker lige så godt.. Smid nogle svar..
Avatar billede roenving Novice
07. marts 2005 - 10:45 #4
Oki '-)
Avatar billede roenving Novice
11. marts 2005 - 10:27 #5
-- og tak for point ;~}
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