CSS从中心翻译回来
CSS Translate back from center?
所以我写了一些代码来将我的盒子从窗口上的某个位置转换到中心,我有原始位置,例如:原始盒子
{
top: 52.16538619995117,
right: 685.6694946289062,
bottom: 214.66795349121094,
left: 523.1669311523438,
width: 150
}
原框的宽度/高度为150px,当它被移动到中心时,它变成了300px。一些基本代码通过以下方式将其重新定位到中心:
top = window.innerHeight / 2 - currentPosition.top - 150 /2
left = window.innerWidth / 2 - currentPosition.left - 150 /2
现在假设组件的新坐标为:集中箱
{
top: 74.78038787841797,
right: 928.7755126953125,
bottom: 374.7803955078125,
left: 628.7755126953125,
width: 300
}
我用:
把它重新定位到中间很费时间transform: "translate(xTarget, yTarget)";
这应该比我想象的要容易得多,但由于某种原因,它总是与原来的不同。
下面是我写的一个函数来帮助确定平移坐标:
getCoordinateTarget(target, offset, currentNotePosition) {
const xDifference = target.left - currentNotePosition.left;
const yDifference = target.top - currentNotePosition.top;
const xTarget = xDifference > 0 ? xDifference - offset.x : -Math.abs(xDifference) - offset.x;
const yTarget = yDifference > 0 ? yDifference - offset.y : -Math.abs(yDifference) - offset.y;
return {
y: yTarget,
x: xTarget
};
}
我对CSS转换的工作方式有一个很大的误解。所以我最初用平移来移动它,我所要做的就是将转换设置为空,然后组件将被重新定位回原始位置。
字面意思transform: "";
相关文章:
- 如何在javascript上使用flak-babel进行翻译
- 使用谷歌网站翻译器自动翻译网页
- jsi18n-django.catogue没有'不包含任何已翻译的字符串(但是djangojs.mo包含)
- Django'支持Javascript文件中的翻译
- 如何翻译MySQL查询's ResultSet转换为整数
- 原生脚本无限翻译动画
- AngularJS无法使用translate值正确翻译
- 如何将此JS翻译成Angular2
- Angular JS:翻译带有大量文本的静态html页面
- 可以'I don’我不明白我为什么回来了
- 在 .toggleClass() 更改后将类的 ID 更改回来
- DOM更改后的L20N翻译html
- Javascript翻译模板
- 将JavaScript oop代码翻译为Lua
- i10n angularjs分配翻译变量
- 为什么可以't I翻译JS画布图像
- 如何翻译SVG及其所有子项
- 翻译是从哪里来的?Java servlet、tomcat和Ext Js Sencha应用程序
- 文本框搜索&回来
- CSS从中心翻译回来