【问题标题】:Add value of two variables into one variable将两个变量的值加到一个变量中
【发布时间】:2015-03-25 18:50:57
【问题描述】:

快速 JavaScript 问题。我正在尝试创建一个等于其他两个变量宽度的变量。我有:

            var mainNavWidth = mainNav.width();
            var remainWidth = $('#header .main-wrap').css("margin-right");
            var subNavWidth = remainWidth + mainNavWidth;

前两个变量会吐出我想要的两个数字,但第三个变量不起作用。我知道这必须很容易解决,我只是不确定如何。非常感谢任何帮助

【问题讨论】:

  • “不工作”是什么意思?

标签: javascript jquery variables concatenation


【解决方案1】:

您需要parseInt() 边距一,因为边距将/可以返回"0px"/"10px" 等字符串,因此您需要在添加之前将其转换为整数

var remainWidth = parseInt($('#header .main-wrap').css("margin-right"));

【讨论】:

    【解决方案2】:

    var remainWidth = $('#header .main-wrap').css("margin-right");

    .css() 方法返回一个字符串,例如“20px”或“100%”或“继承”,所以它并不总是一个数字!

    var remainWidthAsInteger = parseInt($('#header .main-wrap').css("margin-right")); var remainWidth = (remainWidthAsInteger == NaN) ? 0 : remainWidthAsInteger;

    【讨论】:

      【解决方案3】:

      jQuery 返回带有 'px' 的值,所以:

      var mainNavWidth = mainNav.width();
      var remainWidth = $('#header .main-wrap').css("margin-right");
      var subNavWidth = parseInt(remainWidth) + parseInt(mainNavWidth);
      

      【讨论】:

      • width 不需要在 parseInt() 中,因为它已经在 integar 中了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      相关资源
      最近更新 更多