1

我目前在获取 html 元素的高度时遇到了一些问题,似乎在调整窗口大小时它没有得到更新。我试图用:'height:auto'重置html,但这似乎没有帮助。

宽度工作正常,但高度没有更新。

这个问题有什么解决方案吗?

提前致谢!

查询:

 function UpdateLeftBar() {
    // Reset
    $('html').height('auto');
    // Get the height of the window and minus the header and left top elements
    height = $('html').height() - 85 - 56 + 29;
    width = $('html').width() - 300;
    // Set the div to the new height
    $('#leftContentBottom').css({ 'height': height });
    $('#middleContent.span10').css({ 'width': width });
    console.log(height);
}

$(window).resize(function () {
    UpdateLeftBar();
});

真的很奇怪,我注意到它有 80% 的时间会更新,但如果你双击窗口,它不会调整大小。

修复:您应该获取窗口的高度,而不是获取 html 的高度。这解决了我的问题。

4

1 回答 1

1

Thanks to Huangism for posting the duplicate thread, it was very easy to solve my problem.

The solution is to use window instead of using the html element to get the height of the window. It seems like html doesn't get always updated.

        function UpdateLeftBar() {
    // Get the height of the window and minus the header and left top elements
    height = $(window).height() - 85 - 56;
    width = $('html').width() - 300;
    // Set the div to the new height
    $('#leftContentBottom').css({ 'height': height });
    $('#middleContent.span10').css({ 'width': width });
    console.log(height);
}

$(window).resize(function () {
    UpdateLeftBar();
});
于 2013-07-15T17:37:58.163 回答