Страницы

Поиск по вопросам

вторник, 12 марта 2019 г.

Аналог `element.style.left = variable + 'px'`, только без 'px'

Имеется элемент:
let element = document.getElementById('id')
Я могу изменить его css-свойство left вот так:
let left = ... highlight.style.left = left + 'px';
Есть ли аналог этого, только без необходимости писать 'px'?

Например, с помощью jquery можно так:
$(element).css('left', left);
А можно без jquery (и без 'px')?


Ответ

Да. Нет. Нет.
Хотя ну ладно, на последний вопрос - да:
var $ = (function () { var allowNumber = ['lineHeight', 'zIndex']; function $(el) { if (this instanceof $) { this.el = el; } else { return new $(el); } } $.prototype.css = function css(key, value) { key = key.replace(/-(\w)/g, function (m, ch) { return ch.toUpperCase() }); if (+value == value && allowNumber.indexOf(key) === -1) { value += 'px'; } this.el.style[key] = value; return this; } return $; })(); $(document.querySelector("div")).css('left', 100).css('line-height', 3); div { position: absolute; left: 0; top: 0; background: silver; }

123

PS: Пиксели - зло.

Комментариев нет:

Отправить комментарий