Грешки со мерни единици во JavaScript

Често е лесно да се направи грешка и да се заборави на мерните единици. На пример, вака:

javascriptlet width = 100;
elem.style.width = width; // упс...

Правилно е да се наведе вредноста во пиксели:

javascriptlet width = 100;
elem.style.width = width + 'px';

Да замислиме дека сакаме да ја зголемиме ширината за одредена вредност. За ова прво треба да ја прочитаме ширината, потоа да го извлечеме бројот, да додадеме потребна вредност, да додадеме 'px' и дури потоа да ја запишеме назад:

javascriptlet widthPx = elem.style.width;
let widthNm = parseInt(widthPx);
elem.style.width = (widthNm + 30) + 'px';
Задание 1

Објаснете, во што е грешката во следниот код:

html<div style="font-size: 16px;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = elem.style.fontSize + 2;
Задание 2

Објаснете, во што е грешката во следниот код:

html<div style="font-size: 16px;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize + 2) + 'px';
Задание 3

Објаснете, во што е грешката во следниот код:

html<div style="font-size: 2.5em;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize) + 2 + 'em';
Задание 4

Даден е div:

html<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
  text
</div>

Дадено е и копче. При клик на копчето зголемете ја ширината и висината на div-от за 50px.

Задание 5

Даден е div:

html<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
  text
</div>

Дадено е и копче. При клик на копчето зголемете ја ширината и висината на div-от за 10%.