Jquery计算.ready和.resize之间的高度差

时间:2013-09-04 14:01:49

标签: jquery resize documentation height

初始化页面或调整页面大小时,高度计算似乎有所不同。

任何有线索的人为何?或者如何解决它?

示例代码

$(document).ready(function () {

    showcase_height_init();

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

});

function showcase_height_init() {

    var showcase_container_text_height = ($("#showcase_container_text").height())/2;

    $("#showcase_container_text").css({
        margin: '-'+showcase_container_text_height+'px 0 0'
    });

}

1 个答案:

答案 0 :(得分:0)

只要DOM可用就会触发“就绪”事件,因此可能无法加载样式,图像和其他资源等属性,并且元素的高度不是真实的。

为此,你应该尝试:

$("body").load(function () {

    showcase_height_init();

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

});

function showcase_height_init() {

    var showcase_container_text_height = ($("#showcase_container_text").height())/2;

    $("#showcase_container_text").css({
        margin: '-'+showcase_container_text_height+'px 0 0'
    });

}

我推荐jquery的文档:

http://api.jquery.com/ready/