这个代码怎么了?我试图将每个部分的高度更改为窗口的高度

时间:2013-06-02 21:59:29

标签: javascript jquery html css

这段代码有什么问题?我试图将每个部分的高度更改为窗口的高度。

function setsize()
 {
var w=$(window).width();
var h=$(window).height();
var sections = new Array("home","about","skills");
    for (var i=0;i<3;i++)
    {
        var element = document.getElementById(sections[i]);
        $(element).height(h);
    }

}
$(window).ready(function() {
    setsize(); 
});
$(window).resize(function() {
    setsize();
});

这里是标记样本:

    <section id="#home">
                                    <h1>..................</h1>

    </header>

1 个答案:

答案 0 :(得分:4)

这似乎是一种奇怪的方式吗?

$(window).on('resize load', function() {
    $('#home, #about, #skills').height( $(this).height() );
});

当窗口改变大小时,即在调整大小函数内部时,你必须更新变量

修改

你还需要一个DOM就绪处理程序,并且在执行这种方式时并不总是触发window.onload,所以只需在DOM就绪,就像这样做:

$(function() {
    $('#home, #about, #skills').height( $(window).height() );
    $(window).on('resize', function() {
        $('#home, #about, #skills').height( $(this).height() );
    });
});

FIDDLE