1

我正在尝试使用 JQuery 来检测何时加载我的页面内容,然后根据有多少内容调整页面上的 div(导航栏和内容)的大小。(例如,如果有少量文本,那么 div 的高度为 800px,但当导航和内容 div 的高度不同时,则将两者设置为两者中最大的高度。

        function resizePage(){
            var defaultSize = 600;
            var sidebarH = $("nav").height();
            var articleH = $("article").height();

            if((sidebarH < defaultSize) || (articleH < defaultSize)){
                $("nav").css({'height': defaultSize});
                $("article").css({'height': defaultSize});
            }
            else{
                if(sidebarH <= articleH){
                    $("nav").css({'height': articleH});
                }
                else{
                    $("article").css({'height': sidebarH});
                }
            }
        }

        $(window).load(function() {
            resizePage();
        });

当我修改 html 代码时……现在使用 Jinja 模板……似乎模板数据是在加载窗口后加载的,因此它没有正确调整大小。有没有办法 JQuery 可以判断模板数据何时已全部加载?或者我可以用不同的方式解决这个问题吗?

谢谢你的时间!

4

2 回答 2

1

尝试.ready()改为:

$(document).ready(function() {
    function resizePage() {
        var defaultSize = 600;
        var sidebarH = $("nav").height();
        var articleH = $("article").height();

        if((sidebarH < defaultSize) || (articleH < defaultSize)) {
            $("nav").css({'height': defaultSize});
            $("article").css({'height': defaultSize});
        }
        else{
            if(sidebarH <= articleH){
                $("nav").css({'height': articleH});
            }
            else{
                $("article").css({'height': sidebarH});
            }
        }
    }      

    resizePage(); // You are calling it here
});
于 2013-03-25T00:30:39.167 回答
0

只是需要改变|| 至 &&。

$(window).load 与 $(document).ready 在这里没有区别。

于 2013-03-25T22:31:54.267 回答