【问题标题】:jQuery divide a variablejQuery划分一个变量
【发布时间】:2015-02-26 03:40:00
【问题描述】:

为什么这不起作用?撕毁我的声音......

这个小提琴已更新为批准的答案 http://jsfiddle.net/jbreezy/pswdn2wb/

$(document).ready(function() { var marginFix = $('.marginFix').css('font-size'); var onethirdMargin = parseInt(marginFix / 3); $('.marginFix').css({"margin-top":marginFix}); $('.marginFix').css({"margin-bottom":onethirdMargin}); });

如您所见,我只希望变量“onethirdMargin”为另一个变量的 1/3。

因此,基本上无论您在 css 中将字体大小设置为什么,元素 margin-top 都将等于所述字体大小,而 margin-bottom 将自动为该字体大小的 1/3 (如果您将类 marginFix 应用于它)。目前,margin-bottom 仍然保持不变......任何帮助都非常感谢!

【问题讨论】:

  • marginFix 给出了它的单位(如 24px),所以你不能使用 parseInt(...) 而不先删除单位。

标签: jquery css math margin jsfiddle


【解决方案1】:

改变

var onethirdMargin = parseInt(marginFix / 3);

var onethirdMargin = parseInt(marginFix, 10) / 3;

如果你在“24px”上解析,它会变成整数 24,那么你可以除以 3。

根据 Mozilla,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt 您应该始终指定 ParseInt 的第二个参数,即 10,它是您要解析的基数。感谢 Rocket Hazmat 对此的澄清。

【讨论】:

  • 您应该将10 作为第二个参数传递给parseInt
  • 当然可以。 :-) 如果你想学习一些调试技巧,试试 console.log()'ing 你的变量,你可以很快看到 marginFix 是 24px。
猜你喜欢
  • 1970-01-01
  • 2020-08-31
  • 1970-01-01
  • 2023-03-16
  • 2018-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-23
相关资源
最近更新 更多