Javascript / Jquery - 加法和减法错误

时间:2012-10-01 10:49:57

标签: javascript jquery

我有以下脚本来获取浏览器的高度,然后页眉和页脚的高度从浏览器的高度减去:

var a = $(window).height();
alert (a);
var b = $('#header').css('height').replace(/[^-\d\.]/g, '');
alert (b);
var c = $('#header').css('height').replace(/[^-\d\.]/g, '');
alert (c);
var d = (a-(b+c));
alert (d);
$('#block').height(d);

警告,
1)699
2.)100
3.)50
那么错误的部分:
4) - 。9351

这里有什么问题?

4 个答案:

答案 0 :(得分:4)

vars b和c包含字符串,当你在Javascript中使用字符串上的+运算符时它们被连接起来。

即。表达“100”+“50”评估为“10050”。

我建议使用jQuery .height()方法

获取元素的高度

答案 1 :(得分:2)

使用parseInt:

var a = parseInt($(window).height());
alert (a);
var b = parseInt($('#header').css('height').replace(/[^-\d\.]/g, ''));
alert (b);
var c = parseInt($('#header').css('height').replace(/[^-\d\.]/g, ''));
alert (c);
var d = (a-(b+c));
alert (d);
$('#block').height(d);

答案 2 :(得分:1)

您可以在代码b中使用jquery height(返回整数)方法.c和c是字符串。 jsfiddle

 var a = $(window).height();
    alert (a);
    var b = $('#header').height();
    alert (b);
    var c = $('#header').height();
    alert (c);
    var d = (a-(b+c));
    alert (d);
    $('#block').height(d);

答案 3 :(得分:0)

试试这个...只需更换固定数字

var a = parseInt('600');
var b = parseInt('100');
var c = parseInt('50');
var d = (a-(b+c));