Ваааааи выше и дальше, чтобы написать все это для ОП. Но тоже очень полезно. Upvoted.
т, я ищу столбцы равной высоты на основе jQuery. Я знаю, что их много, номое требование немного отличается, Я хочу использовать их в мегаменю, где у вас около 4-5 раскрывающихся списков, а в каждом раскрывающемся списке есть 3-4 столбца.
Я хочу, чтобы все эти 3-4 столбца имели одинаковую высоту, но не во всех раскрывающихся списках, поскольку высота столбцов в других раскрывающихся списках будет отличаться в зависимости от содержимого этого раздела.
Я нашел решение в MooTools, которое идеально подходит для моих требований. Код MooTools ниже делает все столбцы в конкретном div равными высоте его родительского div
Код MooTools:
var Equalizer = new Class({
initialize: function(elements) {
this.elements = $(elements);
},
equalize: function(hw) {
if(!hw) { hw = 'height'; }
var max = 0,
prop = (typeof document.body.style.maxHeight != 'undefined' ? 'min-' : '') + hw; //ie6 ftl
offset = 'offset' + hw.capitalize();
this.elements.each(function(element,i) {
var calc = element[offset];
if(calc > max) { max = calc; }
},this);
this.elements.each(function(element,i) {
element.setStyle(prop,max - (element[offset] - element.getStyle(hw).toInt()));
});
return max;
}
});
Использование :
var columnizer = new Equalizer('.sizeMe').equalize('height'); //call .equalize() as often as you want!
Может кто-нибудь помочь мне преобразовать этот код в jQuery, пожалуйста. На самом деле весь мой шаблон основан на jQuery, и просто для этой функции равной высоты я не хочу загружать другую библиотеку JavaScript.
Пожалуйста, помогите!