我发现了一些类似的问题,但似乎都没有解决我的问题。我使用等高列js函数,但需要将其应用于三列的每一行。它们不包含在行div中,因为它是响应式的,因此数字会发生变化,因此我需要jQuery对每三个元素进行分组并将函数应用于它们。该函数遍历所选元素,找到最高元素并将CSS高度应用于它们。
考虑到html:
<div id="container">
<div class="column"></div>
<div class="column"></div>
<div class="column"></div>
<div class="column"></div>
<div class="column"></div>
<div class="column"></div>
</div>
前3列必须具有相同的高度,接下来的3列必须具有相同的高度等。所以我必须选择它们并以某种方式应用该功能。现在我正在执行以下操作,因为它只有两行,但我需要缩放它以便它可以满足更多行:
equalSize('.column:lt(3)');
equalSize('.column:gt(2)');
所以我需要这样的东西:
equalHeight($('.column:everyThree???');
答案 0 :(得分:0)
<强>更新强>
var x = 1;
var max = $('.column').length;
var n = max % 3;
$('.column').each(function(){
if(max!=(max-n)){
if(x % 3 == 0){
//your resize function
}
x++;
}else{
//do somethin about the extra elements.
}
});
答案 1 :(得分:0)
是的,我已经有了这个工作,但是认为可能有更快的jQuery方式。如果最后有2个,我还需要考虑剩余的行:
var x = 1;
var elems = [];
$('.column').each(function(){
elems.push($(this));
if(x === 3){
equalSize(elems);
x = 1;
elems.length = 0;
}else{
x++;
}
}