首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery未设置正确的高度

jQuery未设置正确的高度
EN

Stack Overflow用户
提问于 2017-02-28 22:02:12
回答 1查看 73关注 0票数 0

我有一个基本的html文档,它根据url散列加载一个html文件。我有以下代码来加载和调整主div的大小:

代码语言:javascript
复制
$(function() {

    var newHash      = "",
        $mainContent = $("#mainContent"),
        $pageWrap    = $("#kofa"),
        baseHeight   = 0,
        $el;



    $("nav").delegate("a", "click", function() {
        window.location.hash = $(this).attr("href");

        newHash = window.location.hash.substring(1);

        $pageWrap.height($pageWrap.height());
        /*baseHeight = $pageWrap.height() - $mainContent.height();*/

        if (newHash) {
            $mainContent
                .find("#guts")
                .fadeOut(20, function() {
                    $mainContent.hide().load(newHash + ".html", 
                    function() {
                        $pageWrap.animate({
                            height: baseHeight + $mainContent.height() + "px"
                        }, 100, "swing", function() {
                        $mainContent.fadeIn(100);
                        });
                        $("nav a").removeClass("selectedMenu");
                        $("nav a[href='#"+newHash+"']").addClass("selectedMenu");
                    });
                });
        };

        return false;
    });

    $(window).bind('hashchange', function(){



    });

    $(window).trigger('hashchange');

});

代码可以工作,但它似乎没有等到文档的每个部分都加载后才更改高度,这会导致..这个是:http://thecardinal.uphero.com/ (部分内容在主目录之外)。似乎在单击菜单中的按钮或通过F5刷新页面后,它会显示正确的高度。(您可以查看上面给出的网站以获取更多代码)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 22:15:31

为什么不使用100%的高度呢?可以这样

代码语言:javascript
复制
$("nav").delegate("a", "click", function() {
    window.location.hash = $(this).attr("href");

    newHash = window.location.hash.substring(1);

    if (newHash) {
        $mainContent
            .find("#guts")
            .fadeOut(20, function() {
                $mainContent.hide().load(newHash + ".html", 
                function() {
                    $pageWrap.animate({
                        height: '100%'
                    }, 100, "swing", function() {
                    $mainContent.fadeIn(100);
                    });
                    $("nav a").removeClass("selectedMenu");
                    $("nav a[href='#"+newHash+"']").addClass("selectedMenu");
                });
            });
    };

    return false;
});

在css中

代码语言:javascript
复制
#kofa {
   height: 100%;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42510802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档