当我使用
时$(document).ready(function() {
var bodyHeight = $("body").height();
console.log(bodyHeight);
});
我得到一个真正的身体高度数字。然后我跑
$("body").height();
在控制台中并获得正确的高度。关于$(document).load这样的事情看起来很可疑......是的,我的CSS工作正常,所有这些,我的bug,chromes或jQuery是什么?
答案 0 :(得分:15)
在加载DOM之后但在页面完全呈现之前,document.ready
事件将触发。如果你想获得正确的高度,你应该尝试在加载所有图像和对象并渲染页面后触发的window.load
事件:
$(window).load(function() {
var bodyHeight = $("body").height();
});
答案 1 :(得分:11)
您想查看$(window).load()
函数而不是$(document).ready()
。
当加载并准备好HTML DOM时,即使所有图形尚未加载,也会执行$(document).ready()
事件。完整页面完全加载后,$(window).load()
事件将在稍后执行,包括所有帧,对象和图像。
这是描述差异的绝佳链接。 http://4loc.wordpress.com/2009/04/28/documentready-vs-windowload/