Ответ 1
Поскольку style.top
- это строка с единицами на конце, как "300px"
вы можете делать только математику с ней, когда вы конвертируете только числовую часть в фактическое число.
Предполагая, что у вас есть позиционный элемент (поэтому установка top
значения будет что-то делать), и у вас уже есть top
стиль, установленный непосредственно на элементе и не установленный через CSS (поэтому получение obj.style.top
фактически приведет к вам что-то), вы можете сделайте это, проанализировав номер из значения стиля следующим образом:
var obj = document.getElementById("something");
var topVal = parseInt(obj.style.top, 10);
obj.style.top = (topVal + 300) + "px";
Рабочий пример: http://jsfiddle.net/jfriend00/pt46X/