Баг Google Chrome или неправильный код? Неправильно получает значения ширины и высоты картинки

Ребят, столкнулся с такой проблемой, я делаю простой вьювер изображений и в одном моменте мне просто нужна ширина значения изображения для анимации. Но суть вот в чём.

Есть вот такой кусок кода:

animate(from, to, func, duration) {
    self = this;

    let beginTop = from.getBoundingClientRect().top;
    let beginLeft = from.getBoundingClientRect().left;
    let beginWidth = from.getBoundingClientRect().width;

    let endTop = to.getBoundingClientRect().top;
    let endLeft = to.getBoundingClientRect().left;
    let endWidth = to.getBoundingClientRect().width;

    console.dir(to);
    console.log(to.clientWidth, to.naturalWidth);
    console.log(to.getBoundingClientRect())

    let deltaTop = endTop - beginTop;
    let deltaLeft = endLeft - beginLeft;
    let deltaWidth = endWidth - beginWidth;
    ...

Здесь я получаю свойства изображения, в данном случае мне нужна ширина. Попробовал двумя способами, через функцию и напрямую. Так вот, в остальных браузерах все значения выводят корректно, кроме Google Chrome, он выводит ширину и высоты по нулям. При этом вроде бы видно, что в console.dir(to) он вроде бы выводит значения ширины и высоты.

введите сюда описание изображения

Но строкой ниже, когда получаешь свойство напрямую, он выдаёт их по нулям.

введите сюда описание изображения

Как вообще понять? Мой косяк или косяк хрома?? Так как в остальных браузерах значения выводит почему-то корректно.

Есть видеофайл с демонстрацией проблемы. https://ru.files.fm/f/8ms9hnma


Ответы (2 шт):

Автор решения: Yugofx

Свойство Element.clientWidth равно 0 для инлайн элементов и элементов без CSS.

Более подробно тут

С naturalWidth тоже есть варианты, когда по умолчанию возвращается 0. Проверьте, не ваш ли это случай.

→ Ссылка
Автор решения: Глеб

Ошибка была по моей вине. Перед всеми манипуляциями с картинками и перед вставкой её в DOM нужно обрабатывать всё через onload обработчик. Однако почему console.dir вывел эти данные до загрузки, немного смутило и немного непонятно для меня.

→ Ссылка