Erori cu unități de măsură în JavaScript

Adesea este ușor să greșești și să uiți de unitățile de măsură. De exemplu, așa:

javascriptlet width = 100;
elem.style.width = width; // hopa...

Corect este să specificați valoarea în pixeli:

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

Să ne imaginăm că vrem să mărim lățimea cu o anumită valoare. Pentru aceasta trebuie mai întâi să citim lățimea, apoi să extragem numărul, să adăugăm la el valoarea necesară, să adăugăm 'px' și abia apoi să scriem înapoi:

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

Explicați care este eroarea în următorul cod:

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

Explicați care este eroarea în următorul cod:

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

Explicați care este eroarea în următorul cod:

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

Este dat un div:

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

De asemenea, este dat un buton. La click pe buton măriți lățimea și înălțimea div-ului cu 50px.

Задание 5

Este dat un div:

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

De asemenea, este dat un buton. La click pe buton măriți lățimea și înălțimea div-ului cu 10%.