Показать сообщение отдельно
  #1 (permalink)  
Старый 21.07.2018, 22:06
Новичок на форуме
Отправить личное сообщение для kurganoffiv Посмотреть профиль Найти все сообщения от kurganoffiv
 
Регистрация: 21.07.2018
Сообщений: 6

OffsetLeft при position - absolute
Камрады, HELLO.
Что есть: div в нем span, который имеет значение left. Значение position для div - relative, для span - не задано.
Задача изменить значение position для span на absolute с сохранением текущего положения left.

По логике вроде все просто:
1. Получаем текущее значение left;
2. Меняет значение position для span;
3. Устанавливаем значение left для span, которое получили в п. 1

Получился такой не хитрый код

var leftPos = elem.offsetLeft;
elem.style.position = 'absolute';
elem.style.left = leftPos + 'px';


но когда я устанавливаю position = 'absolute' значение переменной leftPos устанавливается = 0. Если закоментить строку с изменением position, то значения получаю корректные, т.е. действие по изменению position выполняется прежде создания переменной.
В чем подвох? как исправить?
Ответить с цитированием