Fel med måttenheter i JavaScript
Det är lätt att göra fel och glömma måttenheter. Till exempel så här:
javascriptlet width = 100;
elem.style.width = width; // hoppsan...
Rätt är att ange värdet i pixlar:
javascriptlet width = 100;
elem.style.width = width + 'px';
Föreställ dig att vi vill öka
bredden med ett visst värde. För att göra det
måste vi först läsa bredden,
sedan extrahera talet, addera det
önskade värdet, lägga till 'px'
och först då skriva tillbaka det:
javascriptlet widthPx = elem.style.width;
let widthNm = parseInt(widthPx);
elem.style.width = (widthNm + 30) + 'px';
Задание 1
Förklara felet i följande kod:
html<div style="font-size: 16px;">
text
</div>javascriptlet elem = document.querySelector('div');
elem.style.fontSize = elem.style.fontSize + 2;
Задание 2
Förklara felet i följande kod:
html<div style="font-size: 16px;">
text
</div>javascriptlet elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize + 2) + 'px';
Задание 3
Förklara felet i följande kod:
html<div style="font-size: 2.5em;">
text
</div>javascriptlet elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize) + 2 + 'em';
Задание 4
Given en div:
html<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
text
</div>
Given även en knapp. Vid klick på knappen
öka bredden och höjden på diven med
50px.
Задание 5
Given en div:
html<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
text
</div>
Given även en knapp. Vid klick på knappen
öka bredden och höjden på diven med
10%.