如何在窗口大小调整时覆盖我的数组?

时间:2015-11-19 09:18:03

标签: javascript jquery html css arrays

我有多个具有不同内容和相同类别的div

<div class="my-div"> ... some content here ... </div>
<div class="my-div"> ... some content here ... </div>
<div class="my-div"> ... some content here ... </div>
<div class="my-div"> ... some content here ... </div>
<div class="my-div"> ... some content here ... </div>

现在我将每个高度推入数组

var myArray = new Array();

function pushToArray(height) {
    myArray.push(height);
}

function getHeight() {
    $('.my-div').each(function () {
        pushToArray($(this).height());
    });
}

这将返回加载文档时的每个高度。如果我知道在窗口重新调整大小时调用此函数链,它将扩展我的数组。我想要的是它用新的高度替换现有的值。

我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

getHeight函数中重置数组。

var myArray = [];

function pushToArray(height) {
    myArray.push(height);
}

function getHeight() {
    // Reinitialize the array
    myArray = [];

    $('.my-div').each(function () {
        pushToArray($(this).height());
    });
}

// Call getHeight on window resize
$(window).resize(getHeight);

答案 1 :(得分:0)

您可以使用.map()创建数组并与resize事件结合使用:

var array;
$(window).resize(function(){
    array = $('.my-div').map(function(){
        return $(this).height();
    }).get();
}).resize();