0

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

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>
4

1 回答 1

4

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

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

当窗口改变大小时,您必须更新变量,即在 resize 函数内

编辑:

您还需要一个 DOM 就绪处理程序,并且 window.onload 在这样做时并不总是被触发,所以只需在 DOM 就绪时执行相同的操作,如下所示:

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

小提琴

于 2013-06-02T22:04:30.980 回答