使用jQuery获取CSS转换属性

col*_*ite 19 javascript jquery

我试图-webkit-transform: translateY('')在变量中获取属性.

HTML

<form class="form-con" style="-webkit-transform: translateY(-802px);"></form>
Run Code Online (Sandbox Code Playgroud)

JS

$('.foo').click(function() {
    var current_pull = parseInt($('.form-con').css('transform').split(',')[4]);
});
Run Code Online (Sandbox Code Playgroud)

这将返回"0",而不是正确的值.

Mil*_*war 36

您可以使用:

 var obj = $('.form-con');
 var transformMatrix = obj.css("-webkit-transform") ||
   obj.css("-moz-transform")    ||
   obj.css("-ms-transform")     ||
   obj.css("-o-transform")      ||
   obj.css("transform");
 var matrix = transformMatrix.replace(/[^0-9\-.,]/g, '').split(',');
 var x = matrix[12] || matrix[4];//translate x
 var y = matrix[13] || matrix[5];//translate y
Run Code Online (Sandbox Code Playgroud)

  • @StevenPalinkas:在3d变换的情况下,定义了4*4大小的矩阵.检查doc中的第三个属性https://www.w3schools.com/cssref/css3_pr_transform.asp (3认同)

Jam*_*ard 28

$('.foo').click(function() {
    var current_pull = parseInt($('.form-con').css('transform').split(',')[5]);
});
Run Code Online (Sandbox Code Playgroud)

  • 总是给我 0 回 (2认同)