我有以下代码:
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()
。
答案 0 :(得分:0)
尝试使用它:
Math.floor($( window ).height() - contentTop - contentBottom);
答案 1 :(得分:0)
Duh - 睡眠剥夺真的对你不好......
显然,innerHeight
不能用作变量 - 如果我只是写它,它意味着window.innerHeight
......
更改变量名称,现在可以使用。
现在我真的希望我能撤回这个问题......