有个需求需要能拿到translate里的X,Y值,一开始以为很简单,结果返回的是:
matrix(1, 0, 0, 1, 31, 21)
返回一个矩阵信息,这有点懵。详情见:https://blog.csdn.net/ruangong1203/article/details/54586051
网上搜了半天有说正则,又说再矩阵回去的,没什么能用的。
自己写了个获取X,Y的方法,比较基本,有更好的可以评论私信我。
//获取矩阵信息
var translates=
document.defaultView.getComputedStyle(document.getElementsByClassName('div')[0],null).transform;
console.log(translates) //matrix(1, 0, 0, 1, 31, 21)
//清除最后一个),便于后续取值
let str = translates.replace(")","");
console.log(translates) //matrix(1, 0, 0, 1, 31, 21
//分割成数组
let split = str.split(',');
console.log(split); //(6) ["matrix(1", " 0", " 0", " 1", " 31", " 21"]
//这就好取了,取最后俩个并转数字
console.log(Number(split[split.length-2]),Number(split[split.length-1])); //31,21