带有 jQuery-UI 的标准调整大小模块有一个 SE 握把区域,用于同时向东和向南拖动,但它也允许您只向东拖动或向南拖动。因此,如果您的用户不注意保持 45 度角拖动,他们很容易向东或向南拖动并破坏其对象的纵横比。
我希望能够单击 SE 角落的一个小区域并打开一种模式,然后拖动自动为 SE,即使您不小心并且不小心滑倒并向东或向南移动鼠标。有这样的东西吗?
谢谢。
就这样设置吧。如果您正在寻找其他东西,请告诉我。
$(function() {
$( "#myid" ).resizable({
aspectRatio: 16 / 9
});
});
您还可以使用 {alsoResize: 'your element' } 使用可实现的元素调整其他内容的大小。
要设置选项:
$("#myid").resizable('option', 'option here');
获取元素的比率。这是您可以使用的功能:
function gcd(a,b) {
if(b>a) {
temp = a; a = b; b = temp
}
while(b!=0) {
m=a%b; a=b; b=m;
}
return a;
}
function getRatio(x,y) {
c=gcd(x,y);
return ""+(x/c)+"/"+(y/c)
}
像这样称呼它:
getRatio(elementWidth, elementHeight)
它将返回前:4/3。