У меня есть хорошие и плохие новости.
Начну с плохих новостей: после изучения объекта, возвращаемого jQuery, объект matrix
- это не что иное, как строка, и абсолютно нетТаким образом, вы можете получить другой объект, кроме строки.Как бы нам не хотелось соглашаться с тем, что это не должна быть строка: значения CSS являются строками, поэтому jQuery возвращает строки.
Итак, нравится вам это или нет, вам действительно нужно разобрать строку по порядку.чтобы получить значение.Хорошая новость: у меня есть два решения.
Теперь, если вы ОЧЕНЬ уверены, что первая пара значений ВСЕГДА одинакова, вы можете просто использовать подстроку.Но следующая проблема: в Google Chrome значение -283.589px
меняется на -283.5889892578125
.
Честно говоря, вам нужен более продвинутый анализатор строк, чтобы получить правильное значение.Я приветствую регулярное выражение:
var matrix = $('.selector').css('-moz-transform');
var values = matrix.match(/-?[\d\.]+/g);
Это получает все значения вашей строки.
Выбрав правильный индекс, вы можете получить свое значение:
var x = values[5];
Это лучшее решение, которое я могу предложить, и я уверен, что это единственно возможное решение.