Get elements that begin with a common class prefix, group them accordingly, and equalize their heights to their max height
var cousins = []; | |
// Find all elements that begin with class and return just that matching class | |
$('[class^=equalize-').each(function(index, el, array) { | |
var group = $(el).attr('class').match(/\bequalize-[\S]*/); | |
if ( group.length ) { | |
cousins.push( group[0] ); | |
} | |
}); | |
// Make list of matched element classes unique | |
cousins = cousins.filter(onlyUnique); | |
// Equalize elements | |
cousins.forEach(function(groupName){ | |
equalize(groupName); | |
$(window).on('resize', function(){ | |
equalize(groupName); | |
}); | |
}); | |
function equalize(groupName) { | |
var maxHeight = 0; | |
$('.' + groupName).each(function(){ | |
if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } | |
}); | |
} | |
function onlyUnique(value, index, self) { | |
return self.indexOf(value) === index; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment