Javascript jQuery$(窗口)。动态添加内容的高度错误
我正在使用jQuery动态定位我的页脚,现在的问题是Javascript jQuery$(窗口)。动态添加内容的高度错误,javascript,jquery,height,jquery-load,Javascript,Jquery,Height,Jquery Load,我正在使用jQuery动态定位我的页脚,现在的问题是 $(window).height(); 是错误的,因为我包含了一个导航,使用: $('.navigation').load('includes/navigation.html'); 之后,我检查查看,但是$(window).height()不包括添加项目的高度,我在检查高度之前添加项目,这样就不会出现问题。我还尝试了$(document.ready()和$(window.load()) 这是完整的代码 $(window).load(fun
$(window).height();
是错误的,因为我包含了一个导航,使用:
$('.navigation').load('includes/navigation.html');
之后,我检查查看,但是$(window).height()不包括添加项目的高度,我在检查高度之前添加项目,这样就不会出现问题。我还尝试了$(document.ready()和$(window.load())
这是完整的代码
$(window).load(function(){
$('.navigation').load('includes/navigation.html');
var docheight = $(document).height();
var winheight = $(window).height();
console.log('window: ' + winheight + ', document: ' + docheight);
});
这是正确的行为
$(window).height()
是浏览器窗口的高度,不受从DOM中添加/删除的元素的影响
$(document).height()
是DOM中文档的高度,将受到DOM修改的影响。您应该使用load()
complete回调来获取新文档的高度,否则由于load()
是异步的,您将在向DOM添加新内容之前获取高度:
$('.navigation').load('includes/navigation.html', function(){
var docheight = $(document).height();
});
您应该在
load()
完全回调中设置逻辑,load()
是异步的。追加DOM元素不会影响$(窗口)。height()
,这是正确的行为。@RoryMcCrossan Ya,对不起,即使这样OP也应该使用$(文档)。height()代码>,对吗?!是的。尽管他说他是。那件案子还有问题吗?你说得对!使用.load回调可以工作!如果你回答我,我会接受的!:)谢谢