Показать сообщение отдельно
  #1 (permalink)  
Старый 20.03.2017, 00:02
Новичок на форуме
Отправить личное сообщение для Lipon Посмотреть профиль Найти все сообщения от Lipon
 
Регистрация: 19.03.2017
Сообщений: 3

getComputedStyle не всегда возвращает значения
Нужно мне получить значения стилей в пикселях которые браузер рендерит. Для этого использую getComputedStyle, но width, height, line-height отдаются всегда нормально, а вот пайдинги и марджины отдаются через раз и вместо значений обычно всегда 0px, но волей случая иногда возвращает нормальные значения. Притом рандомно, то отдает их, то не отдает и так во всех браузерах. Не пойму куда копать. Заранее спасибо за помощь.

Использую для сборки webpack2("style-loader", "css-loader?localIdentName=[hash:base64:10]") +
babel ([
["es2015", {
modules: false
}],
"stage-0"
].

Список стилей:
  • "width",
  • "height",
  • "line-height",
  • "padding-top",
  • "padding-right",
  • "padding-bottom",
  • "padding-left",
  • "margin-top",
  • "margin-right",
  • "margin-bottom",
  • "margin-left"

getStyle
property = this.toCamelCase(property);

let ret, styles, view = element.ownerDocument.defaultView;

if (!view || !view.opener) {
    view = window;
}

styles = view.getComputedStyle(element, null);

return styles[property];


Document ready event listener

let eventCallback = function () {
    document.removeEventListener("DOMContentLoaded", eventCallback, false);
    callback();
};

document.addEventListener("DOMContentLoaded", eventCallback, false);

Последний раз редактировалось Lipon, 20.03.2017 в 00:07.
Ответить с цитированием