我正在使用新的酷css3方法来操作div,这样做的转换:
$("#thediv").css("-webkit-transform","translate(-770px, 0px)");
Run Code Online (Sandbox Code Playgroud)
后来在脚本中我想要获得变换的值,如下所示:
$("#thediv").css("-webkit-transform");
Run Code Online (Sandbox Code Playgroud)
它返回一个这样的矩阵:matrix(1,0,0,1,-770,0)
我无法弄清楚的是如何得到这个矩阵的第5个值(-770)......
有什么建议?谢谢!
我正在实现一个基于Croppie的图像裁剪工具.我的问题是当我缩小太远时,图像离开视口或离裁剪区域太远.
所以我有一个函数,在线(下面的代码片段)363就像这样:
function _updateCenterPoint() { //borked
console.log("fire _updateCenterPoint()");
var self = this,
transform = Transform.parse(self.childElements.img.style[CSS_TRANSFORM]);
var imgRect = self.childElements.img.getBoundingClientRect(),
cropRect = self.childElements.enclosedCrop.getBoundingClientRect();
if (!isContainedByCrop(imgRect, cropRect, transform)) {
console.log("adjust center");
transform.x = //do a transform (I've tried many - see below)
transform.y = //do a transform (I've tried many - see below);
}
var newCss = {};
newCss['transform'] = transform.toString();
css(self.childElements.img, newCss);
}
Run Code Online (Sandbox Code Playgroud)
在元素缩小太远之后定位元素由if (!isContainedByCrop(imgRect, cropRect, transform))条件中的逻辑处理,其中"adjust center"记录了.
我已经尝试了很多方法来做到这一点.我尝试使用距离公式,但感到困惑,因为我正在比较翻译的值而不是(x,y)点.基本上,一旦它收缩到一定量以下,它应该适合裁剪工具.
但是,我无法让它始终如一.当我将其缩小到150 x 150像素时,它有时会在裁剪工具中居中,有时则不会.
扩展会增加复杂性(对我而言).如果你没有缩放它,它将是一个简单的等式,只是通过.enclosedCrop's …