gpt4 book ai didi

javascript - 调整容器的大小,两个灰色方 block 应该尽可能地增长,受对 Angular 线的约束..简单的方法吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:37:19 25 4
gpt4 key购买 nike

这是我所做的:jsFiddle

$("#container").resizable({
resize: function (event, ui) {
var w = ui.size.width;
var h = ui.size.height;
var l;
if (w>h) l = h/2;
else l = w/2
$("#left").width(l).height(l);
$("#right").width(l).height(l);
}
})

如您所见,我只是将正方形的边设置为容器宽度和高度之间最小值的一半。这仅在容器本身是方形的情况下才有效。

对于任何容器大小,我想要的是尽可能多地扩大正方形,而不会到达对 Angular 线的另一侧并保持平方比例。

有什么想法吗?

最佳答案

如果您取通过正方形对 Angular 线的线并搜索与矩形对 Angular 线的交点,您将找到正方形必须到达的点。您可以使用该点与原点之间的距离来计算正方形对 Angular 线的长度,并轻松获得边。

$("#container").resizable({
resize: function (event, ui) {
var w = ui.size.width;
var h = ui.size.height;
var m = h/w;
var c = -h;

var x = c/(-1-m);
var y = -1*(c/(-1-m));

var diag = Math.sqrt(Math.pow(x,2) + Math.pow(y,2));
var l = diag/Math.sqrt(2);
$("#left").width(l).height(l);
$("#right").width(l).height(l);
}
})

关于javascript - 调整容器的大小,两个灰色方 block 应该尽可能地增长,受对 Angular 线的约束..简单的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com