@YukioShin

Как получить значение transform: translate3d jQuery?

Как определить текущее значение transform: translate3d? Для того, чтоб можно было от текущего значения изменять его(прибавляя какое-то значение определенное для каких-то элементов). На странице много элементов и определенные элементы должны менять свое местоположение относительно своего текущего положения...
  • Вопрос задан
  • 600 просмотров
Пригласить эксперта
Ответы на вопрос 2
dragonika8
@dragonika8
FrontEnd-Разработчик
ricostacruz.com/jquery.transit, посмотри вот эту штуку. Тут и анимации уже готовые и работа с transform
Ответ написан
@artuh_a
function getTransformValues(element) {
    const style = window.getComputedStyle(element);
    const matrix =
      style.transform || style.webkitTransform || style.mozTransform;
    const matrixType = matrix.includes("3d") ? "3d" : "2d";
    const matrixValues = matrix.match(/matrix.*\((.+)\)/)[1].split(", ");

    // 2d matrices have 6 values
    if (matrixType === "2d") {
      return {
        x: Number(matrixValues[4]),
        y: Number(matrixValues[5])
      };
    }

    // 3d matrices have 16 values
    if (matrixType === "3d") {
      return {
        x: Number(matrixValues[12]),
        y: Number(matrixValues[13]),
        z: Number(matrixValues[14]),
      };
    }
  }
}

getTransformValues(твойЭлемент); // { x: 0, y: 0, z: 0 }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы