在Jquery load()之后设置div的高度

时间:2014-06-25 15:48:16

标签: javascript jquery html css

我有一个使用Jquery将内容加载到div中的函数。我试图添加到我的功能,能够设置div的高度以适应我加载到它的内容。我已尝试过height()函数的几种变体,并且我已经查看了其他人的代码,但是我不认为我真的明白如何将其合并到我的特定代码中。这是功能。它还有一些代码来更新URL。 contentarea是所有内容加载的div和需要调整大小的div。

    //Jquery loader
    function getHash() {
        return window.location.hash
    }

    $("a").on("click", function (e) {
        var page = this.href.replace("#", "") + ".html",
        hash = $(this).prop("hash");

        $('#contentarea').load(page, function () {
            if (page.match("home.html")) {
                history.pushState('', document.title, window.location.pathname);
            } 
            else {
                location.hash = hash;
            }
        });

        e.preventDefault();
    });'

任何帮助将不胜感激!

更新:我在您的帮助下更新了代码,但它并没有真正起作用。我想我会在contentarea中添加一个名为content的div,并使用回调函数。我做错了什么?

'

$('#contentarea').load(page, function () {
    if (page.match("home.html")) {
        history.pushState('', document.title, window.location.pathname);
    } else {
        location.hash = hash;
    }
}, function () {
    $('#contentarea').height($('#content').height());
});

'

2 个答案:

答案 0 :(得分:0)

.load()的文档在函数完成时提供回调

JQuery doc

$('#contentarea').load(page, function(){},function(){})

当函数加载完成时调用第二个函数。

答案 1 :(得分:0)

您需要在加载内容后调用回调函数。

jQuery('#contentarea').load('externalpage.php', function() {
   jQuery('#contentarea').height(jQuery('#content').height());
});