Добрый день.
Есть у меня вот такой код, найденный на просторах сети.
var mainDivs1 = $(".newsblock");
var maxHeight1 = 0;
for (var i = 0; i < mainDivs1.length; ++i) {
if (maxHeight1 < $(mainDivs1[i]).height()) {
maxHeight1 = $(mainDivs1[i]).height();
}
}
for (var i = 0; i < mainDivs1.length; ++i) {
$(mainDivs1[i]).height(maxHeight1);
};
Собственно, что оно делает? Ищет все дивы по названию, ловит высоту максимального и остальным делают такую же.
Уважаемые знатоки, внимание вопрос!
Как сделать этот код более гибким, чтобы можно было задавать больше переменных?
Но чтобы код правильно сравнивал. Только .newsblock с другими .newsblock.
Сейчас я просто дубликую код, добавляя в переменные 1, 2, 3, 4.
Но это не панацея, хочется умного решения.
var mainDivs1 = $(".newsblock"); // первый нужный блок, для выравнивания newsblock
var mainDivs2 = $(".newsblock_link"); // второй нужный блок, для выравнивания newsblock_link
var mainDivs3 = $(".newsblock_image"); // третий нужный блок, для выравнивания newsblock_image
var mainDivs4 = $(".newsblock_text"); // четвертый нужный блок, для выравнивания newsblock_text
// а вот тут я впадаю немного в ступор, как составить скрипт...
var maxHeight[?] = 0;
for (var i = 0; i < mainDivs[?].length; ++i) {
if (maxHeight[?] < $(mainDivs[?][i]).height()) {
maxHeight[?] = $(mainDivs[?][i]).height();
}
}
for (var i = 0; i < mainDivs[?].length; ++i) {
$(mainDivs[?][i]).height(maxHeight[?]);
};
Вот мои горестные попытки решить вопрос
https://jsfiddle.net/webirus/4ujesjws/2/
PS: Решения через CSS не прокатят) Слишком много нюансов, которые нужно учесть.