Mittayksikkövirheet JavaScriptissä
Usein on helppo tehdä virhe ja unohtaa mittayksiköt. Esimerkiksi näin:
let width = 100;
elem.style.width = width; // hups...
Oikein olisi määrittää arvo pikseleinä:
let width = 100;
elem.style.width = width + 'px';
Kuvitelkaamme, että haluamme kasvattaa
leveyttä tietyllä arvolla. Tätä varten
meidän on ensin luettava leveys,
sitten poistettava numero, lisättävä siihen
tarvittava arvo, lisättävä 'px'
ja vasta sitten kirjoitettava se takaisin:
let widthPx = elem.style.width;
let widthNm = parseInt(widthPx);
elem.style.width = (widthNm + 30) + 'px';
Selitä, mikä on virhe seuraavassa koodissa:
<div style="font-size: 16px;">
text
</div>
let elem = document.querySelector('div');
elem.style.fontSize = elem.style.fontSize + 2;
Selitä, mikä on virhe seuraavassa koodissa:
<div style="font-size: 16px;">
text
</div>
let elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize + 2) + 'px';
Selitä, mikä on virhe seuraavassa koodissa:
<div style="font-size: 2.5em;">
text
</div>
let elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize) + 2 + 'em';
Annettu div:
<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
text
</div>
Annettu myös painike. Painiketta napsautettaessa
suurenna divin leveyttä ja korkeutta
50px.
Annettu div:
<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
text
</div>
Annettu myös painike. Painiketta napsautettaessa
suurenna divin leveyttä ja korkeutta
10%.