如何使用jQuery在所有浏览器中计算相同的身高

时间:2013-03-09 16:06:46

标签: jquery height document-body

我遇到了一个我不知道如何解决的问题。

基本上,我正在集成ScrollToFixed jQuery插件并计算限制,我使用

jQuery( document ).height() - jQuery( \'body\').offset().top

jQuery( 'body' ).height()

事情是它在所有浏览器中都不起作用。我已经在Chrome中开发了我的实现,但是当我在其他浏览器中测试它时,它是一团糟。我输出了控制台的值,我得到了600px的高度差异。

现在,由于我的客户将在多个网站上使用我的脚本,因此我必须找到一个通用的解决方案,如果它只适合我,那将会更容易。

你能帮帮我吗,这有可能吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

首先请确保normalize your css,所以所有浏览器都一样。

然后使用$(window).height()获取浏览器窗口的高度。


更新:我必须去寻找scrollToFixed插件,因为那里有多个类似命名的插件。我found it here

如果查看文档和限制选项的定义

  

元素将开始向上滚动页面的垂直滚动位置(绝对)。

所以你需要做的就是在那个位置定位一个元素,就像作者在"Very Full Example" demo中所做的那样:

limit: $('.footer').offset().top - $('#summary').outerHeight(true) - 10;

.footer显然是底部的页脚。它获得偏移顶部,然后减去滚动窗口的高度,加上一个小的边距(加宽结果框以查看摘要滚动窗口)。