如何优雅地用js计算两个像素之间的加、减、乘、除

如题。现在有不少需求需要计算像素,但直接用诸如“3px”-“2px”这样的会产生NaN。所以我通常都是用正则提取出px前面的数字然后计算再用字符串拼接加上px,私以为这样的方法很笨,请问有没有更好的方法?

阅读 13.6k
5 个回答

上一个应用刚好有这个需求~~~

我是这么做的,

var px = (parseInt('3px')-parseInt('2px'))+'px';

parseInt()暴力转换,带像素值的字符串会直接转换成数字,后面的px会被忽略,然后数字和字符串用+链接,最后的结果又被转换成字符串,搞定! 不必用正则匹配

自我感觉这样不算优雅,算流氓。。。。。。

现在目前比较好的方案是使用parseInt("20px")将像素转为数字然后计算,最后再加上'px'。。

function count(a,b){return a + b + 'px'}

javascriptvar px = (3 - 2) + 'px';
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题