变量计算不起作用(jquery / javascript)

时间:2013-11-21 16:39:14

标签: javascript jquery firefox

好吧,也许我只是盲目而且缺少一些明显的东西,但这是我见过的最奇怪的问题......

我有以下代码:

var innerHeight;

$(function(){
    var contentTop = 116;  // calculated on the fly from page header
    var contentBottom = 37;  // calculated on the fly from page footer
    console.log('window.height'); 
    console.log($(window).height());
    console.log('contentTop'); 
    console.log(contentTop);
    console.log('contentBottom'); 
    console.log(contentBottom);

    console.log('$( window ).height() - contentTop - contentBottom');
    console.log((parseInt($( window ).height()) - parseInt(contentTop) - parseInt(contentBottom)));

    innerHeight = (parseInt($( window ).height()) - parseInt(contentTop) - parseInt(contentBottom));
    console.log('innerHeight'); 
    console.log(innerHeight);
});

应吐出来:

window.height
936
contentTop
116
contentBottom
37
$( window ).height() - contentTop - contentBottom
783
innerHeight
783

确实吐了出来:

window.height
936
contentTop
116
contentBottom
37
$( window ).height() - contentTop - contentBottom
783
innerHeight
936

注意最后一个号码。

我尝试了各种变体,让innerHeight成为公式$( window ).height() - contentTop - contentBottom的结果 - 但它只是失败......

我正在运行Firefox Nightly(64位)版本28.0a1。

在Chrome中,我只是注意到结果大约8个左右,但没有时间深入研究,因为这个Firefox问题只是让我感到震惊......

有任何线索吗?

仅供参考,我尝试在相关行的三个部分中添加parseInt()

2 个答案:

答案 0 :(得分:0)

尝试使用它:

Math.floor($( window ).height() - contentTop - contentBottom);

答案 1 :(得分:0)

Duh - 睡眠剥夺真的对你不好......

显然,innerHeight不能用作变量 - 如果我只是写它,它意味着window.innerHeight ......

更改变量名称,现在可以使用。

现在我真的希望我能撤回这个问题......