我想知道如何获取元素的比例值?
我尝试过$(element).css('-webkit- transform');哪种回报matrix(scaleX,0,0,scaleY,0,0);有没有一种获取途径,scaleX并且scaleY只有途径?
$(element).css('-webkit- transform');
matrix(scaleX,0,0,scaleY,0,0);
scaleX
scaleY
如果它是由矩阵指定的,我想您无法采用一种简单的方法,但是您可以轻松地解析该值:
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。
matches[1]
matches[2]
一种仅获取比例值的方法可能是删除所有转换,测量元素的计算宽度/高度,然后将其重新添加并再次测量。然后划分新/旧值。尚未尝试过,但可能会起作用。jQuery本身在许多测量中都使用了类似的方法,为此它甚至具有未记录的$.swap()功能。
$.swap()
PS:您正在使用-o-transform -moz-transform和-ms-transform太,对不对?
-o-transform
-moz-transform
-ms-transform