Существует свойство JS, называемое webkitTransform, и оно содержит фактическое объявление CSS преобразования («rotate (30deg)», «translate (10px, 20px)» и т. Д.), Но чтение его каждый раз с использованием регулярного выражения может неБыстрее всего сделать это, так что вы можете просто спрятать текущий перевод в новом свойстве.
function translateElementChildrenBy(element, translation)
{
var children = element.children;
for (var i = 0; i < children.length; ++i)
{
var child = children[i];
var currentTranslation = child._currentTranslation || 0;
child._currentTranslation = currentTranslation + translation;
child.style.webkitTransform = "translate(" + child._currentTranslation + ")";
}
}
translateElementChildrenBy(document.body, 100);
Это предполагает, что у рассматриваемых элементов не будет никакого другого набора преобразований - иначе вещинемного сложнее, и вам нужно будет убедиться, что другие преобразования не будут отброшены (опять же, это лучше всего сделать, запомнив все остальные свойства преобразования как свойства JS, потому что анализ объявления немного сложен и, конечно, не так быстр).