Зачем для style.left нужен парсинг

236
16 февраля 2018, 21:09

imgObj.style.left = parseInt(imgObj.style.left) + 5 + 'px'; - код работает

imgObj.style.left = imgObj.style.left + 5 + 'px'; - код не работает

При этом для, например, height парсинг не нужен.

В чем в данном случае особенность для style.left, логически выходит, что он "считывается" из "пространства" в виде (string, radix)

Можете пояснить физику процесса?

Answer 1

Свойство style.left содержит не число а строку в формате число + единица измерения, например "5px", если её спарсить

parseInt(obj.style.left)

то она превращается в число по правилам работы функции parseInt, берётся число в начале, остальное откидывается.

Если сделать код без функции parseInt, то что мы получим.

obj.style.left + 10 + "px"  = "5px10px"

Не валидная запись.

READ ALSO
Получить блок со стороннего сайта, зная удаленный class/id блока

Получить блок со стороннего сайта, зная удаленный class/id блока

Необходимо загрузить конкретную часть/блок/элемент со стороннего сайтаСайт: https://www

218
Разработка приложения на Framework7 Vue

Разработка приложения на Framework7 Vue

Столкнулся с проблемами при разработке на Framework7 Vue, примеры из официальной документации у меня просто не работают

221
Свойство length при проверке наличия класса

Свойство length при проверке наличия класса

Работаю со скриптомНе совсем понятно выражение:

263
Оставить запятую в строке - JavaScript

Оставить запятую в строке - JavaScript

Здравствуйте, несколько дней бьюсь над регуляркой (nodejs) с функцией replace, которая из числа: 299,00 р

202