快速的javascript问题。我正在尝试创建一个等于其他两个变量宽度的变量。我有:
var mainNavWidth = mainNav.width();
var remainWidth = $('#header .main-wrap').css("margin-right");
var subNavWidth = remainWidth + mainNavWidth;
前两个变量是吐出数字,因为我希望它们两个,但第三个变量不起作用。我知道这必须是一个简单的解决方案,我只是不确定如何。非常感谢任何帮助
答案 0 :(得分:1)
您需要parseInt()
保证金1,因为保证金将/可以返回"0px"/"10px"
等字符串,因此您需要在添加
var remainWidth = parseInt($('#header .main-wrap').css("margin-right"));
答案 1 :(得分:0)
var remainWidth = $('#header .main-wrap').css("margin-right");
.css()方法返回一个字符串,例如“20px”或“100%”或“inherit”,所以它并不总是一个数字!
var remainWidthAsInteger = parseInt($('#header .main-wrap').css("margin-right"));
var remainWidth = (remainWidthAsInteger == NaN) ? 0 : remainWidthAsInteger;
答案 2 :(得分:0)
jQuery使用'px'返回值,所以:
var mainNavWidth = mainNav.width();
var remainWidth = $('#header .main-wrap').css("margin-right");
var subNavWidth = parseInt(remainWidth) + parseInt(mainNavWidth);