Как определить реальные координаты x и y, ширину и высоту у DIV, даже если они не заданы стилями

225
21 марта 2017, 13:27

Как определить реальные координаты x и y, ширину и высоту у элемента DIV, даже если они не заданы стилями?

Answer 1

Координаты, ширину и высоту можно узнавать через функцию getBoundingClientRect(). Ещё ширину и высоту можно узнавать через функции offsetWidth и offsetHeight. Эти две функции выводят округлённые размеры, в то время, как getBoundingClientRect() выводит число с дробью.

var element = document.querySelector('.element'); 
 
var width = element.offsetWidth || element.getBoundingClientRect().width, 
    height = element.offsetHeight || element.getBoundingClientRect().height, 
    position = { 
      left: element.getBoundingClientRect().left, 
      top: element.getBoundingClientRect().top, 
      right: element.getBoundingClientRect().right, 
      bottom: element.getBoundingClientRect().bottom 
    }; 
 
console.log( 
  'Width: '+width+';\nHeight: '+height+';\nPosition Top: '+position.top+';\nPosition: Left: '+position.left+';\nPosition Right: '+position.right+';\nPosition Bottom: '+position.bottom 
);
<span class="element">Текст</span>

READ ALSO
Проблема с Angular2 Material dialog

Проблема с Angular2 Material dialog

Возникла проблема при добавлении компонента модального окна в angular 2Окно создается, но не диалоговое

344
gotoandstop easing

gotoandstop easing

как в js возжожно реализовать покадровое замедление/ускорение анимации(easing), для остановленной временной шкалы? не постепенную отрисовку...

274
Как передать ID строки в модал?

Как передать ID строки в модал?

У меня есть таблица, заполняю из Базы данныхУ каждой строки есть кнопка Edit, которая открывает модальную форму

301
Как в vue.js скомпилировать текст в формулу?

Как в vue.js скомпилировать текст в формулу?

Нужно динамически скомпилировать формулу vuejs на основании данных из БД

277