Нужно сместить элемент на 50 пикселей, написал такой скрипт - не смещается.
document.getElementById("holter").style.left += 50 + 'px';
Если просто написать
document.getElementById("holter").style.left = 200 + 'px';
тогда работает, но мне нужно именно прибавлять + 50 пикселей.
Метод getBoundingClientRect() возвращает объект, содержащий нужную вам информацию. Оттуда можно достать и left, чтобы к нему суммировать 50:
let holter = document.getElementById("holter");
holter.style.left = holter.getBoundingClientRect().left + 50 + 'px';
#holter, #test {
width: 60px;
height: 60px;
position: absolute;
left: 150px;
background-color: orange;
border-radius: 50%;
text-align: center; font-size: 22px;
}
<div id="holter">+50</div>
<br><br><br><br>
<div id="test"></div>
Еще демо:
let bubu = document.getElementById('bubu');
console.log( bubu.getBoundingClientRect() );
#bubu {
width: 60px;
height: 60px;
position: absolute;
left: 150px;
background-color: orange;
border-radius: 50%;
}
<div id="bubu"></div>
А если нужен вообще какой угодно стиль, его можно достать так:
let bubu = document.getElementById('bubu');
console.log( 'font-size: ' + window.getComputedStyle(bubu).fontSize );
console.log( window.getComputedStyle(bubu) );
<div id="bubu">bubu</div>
Продвижение своими сайтами как стратегия роста и независимости