jQuery没有在文档加载时返回正确的主体高度 - 他们的bug还是我的?

Kyl*_*iss 12 jquery google-chrome

我用的时候

$(document).ready(function() {
 var bodyHeight = $("body").height();
 console.log(bodyHeight);
});
Run Code Online (Sandbox Code Playgroud)

我得到一个真正的身体高度数字.然后我跑了

$("body").height();
Run Code Online (Sandbox Code Playgroud)

在控制台中获得正确的高度.关于$(文件)的一些东西似乎很可疑.载这样做......是的,我的CSS工作正常,所有这些,我的bug,chromes或jQuery是什么?

Dav*_*ton 15

document.readyDOM中后事件触发加载,但页面之前已完全呈现.如果要获得正确的高度,则应尝试在window.load加载所有图像和对象并呈现页面后触发的事件:

$(window).load(function() {
    var bodyHeight = $("body").height();
});
Run Code Online (Sandbox Code Playgroud)


Bra*_*ing 11

你想看看这个$(window).load()功能而不是$(document).ready().

$(document).ready()即使所有图形尚未加载,HTML DOM加载并准备好时也会执行该事件.该$(window).load()事件执行后,当整个页面完全加载,包括所有的帧,对象和图像.

这是描述差异的绝佳链接. http://4loc.wordpress.com/2009/04/28/documentready-vs-windowload/