小编典典

获取元素的比例值?

css

我想知道如何获取元素的比例值?

我尝试过$(element).css('-webkit- transform');哪种回报matrix(scaleX,0,0,scaleY,0,0);有没有一种获取途径,scaleX并且scaleY只有途径?


阅读 271

收藏
2020-05-16

共1个答案

小编典典

如果它是由矩阵指定的,我想您无法采用一种简单的方法,但是您可以轻松地解析该值:

var matrixRegex = /matrix\((-?\d*\.?\d+),\s*0,\s*0,\s*(-?\d*\.?\d+),\s*0,\s*0\)/,
    matches = $(element).css('-webkit-transform').match(matrixRegex);

matches[1]将包含scaleX
matches[2]并将包含scaleY。如果有可能还应用了其他转换,则需要稍微调整正则表达式,因为现在假定所有其他参数均为​​0。

一种仅获取比例值的方法可能是删除所有转换,测量元素的计算宽度/高度,然后将其重新添加并再次测量。然后划分新/旧值。尚未尝试过,但可能会起作用。jQuery本身在许多测量中都使用了类似的方法,为此它甚至具有未记录的$.swap()功能。

PS:您正在使用-o-transform -moz-transform-ms-transform太,对不对?

2020-05-16