jQuery $(window)。高度错误的动态添加内容

时间:2014-05-15 09:36:40

标签: javascript jquery height jquery-load

我正在使用jQuery动态定位我的页脚,现在问题是

$(window).height();

错误,因为我使用以下内容包含导航:

$('.navigation').load('includes/navigation.html');

之后我检查看但是$(窗口).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);
});

2 个答案:

答案 0 :(得分:1)

这是正确的行为。

$(window).height()是浏览器窗口的高度,不会受到从DOM添加/删除的元素的影响。

$(document).height()是DOM中文档的高度, 会受到DOM修改的影响。

答案 1 :(得分:1)

您应该使用load()完整回调来获取新文档的高度,否则当load()为异步时,您会在将新内容添加到DOM之前获得高度:

$('.navigation').load('includes/navigation.html', function(){
    var docheight = $(document).height();
});