在JavaScript中计算最少两个长度

时间:2015-10-26 05:49:35

标签: javascript html5

我需要在JavaScript中设置div margin-left,以便在不同单位中两个长度之间的最小值(如min(10pt,15vw)

我们可以使用Math.min()来比较数字。是否有类似的长度函数?

或者,有没有办法将长度从一个单位转换为另一个单位?

3 个答案:

答案 0 :(得分:1)

可以通过创建临时隐藏div并使用offsetWidth属性计算元素的布局宽度(以像素为单位)(随后立即删除)来计算具有单独单位的两个长度中的最小长度div):



minimum('100px', '100%')




如上所示,您可以使用pass返回最小值。

答案 1 :(得分:0)

由于1vw反映了视口宽度的1%,您可以使用window.innerWidth将其转换为像素:

var 1vw = window.innerWidth * 0.01;

并将其与15像素进行比较:

Math.min(1vw * 15, 10);

答案 2 :(得分:-1)

您可以使用简单的比较运算符进行长度比较,例如=,< =,> =等等。但只有当您拥有相同的单位时。你的问题的另一部分,你可以使用一个小的js库,称为math.js. math.js库附带了对单位的支持。该库尚不支持派生单位,但这是在规划中。

http://mathjs.org/