use*_*605 4 jquery height equals
我在一个页面上有2个列的几个div,所以每2个div需要相同的高度.据我所知,插件可用于强制相等的高度,所有元素都是相同的高度,我只需要每对都是相同的高度.
我的标记看起来像这样
等等
我有以下jquery工作,但我相信它可以更容易完成
{
var rowOneHeight = Math.max($('div.large:eq(0)').height(),$('div.large:eq(1)').height());
$('div.large:eq(0)').css('min-height', rowOneHeight);
$('div.large:eq(1)').css('min-height', rowOneHeight);
var rowTwoHeight = Math.max($('div.large:eq(2)').height(),$('div.large:eq(3)').height());
$('div.large:eq(2)').css('min-height', rowTwoHeight);
$('div.large:eq(3)').css('min-height', rowTwoHeight);
var rowThreeHeight = Math.max($('div.large:eq(4)').height(),$('div.large:eq(5)').height());
$('div.large:eq(4)').css('min-height', rowThreeHeight);
$('div.large:eq(5)').css('min-height', rowThreeHeight);
Run Code Online (Sandbox Code Playgroud)
}
它也需要与一组三个div完成相同的操作.谢谢
你可以用.slice()2个循环遍历循环,如下所示:
var elems = $("div.large");
for(var i = 0; i < elems.length; i+=2) {
var divs = elems.slice(i, i+2),
height = Math.max(divs.eq(0).height(), divs.eq(1).height());
divs.css('min-height', height);
}
Run Code Online (Sandbox Code Playgroud)
或者,对于更通用的方法,因为你也想用3来做,这里是一个插件形式:
$.fn.setMinHeight = function(setCount) {
for(var i = 0; i < this.length; i+=setCount) {
var curSet = this.slice(i, i+setCount),
height = 0;
curSet.each(function() { height = Math.max(height, $(this).height()); })
.css('min-height', height);
}
return this;
};
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样调用它:
$("div.large").setMinHeight(2); //or 3, etc
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1988 次 |
| 最近记录: |