Simple equal heights jQuery plugin
npm install jquery.equalheightsVersion 1.5.3
Simple jQuery plugin to equalize heights of multiple elements on a page.
Matt Banks ( @mattbanks / kernelcreativemedia.com / mattbanks.me )
Include jquery.equalheights.min.js after calling jQuery in the footer. Alternatively, include in your plugins.js file if using HTML5 Boilerplate.
Alternatively, install with bower:
bower install jquery.equalheights
Add data-equal="MYELEMENTS" to the parent container, where MYELEMENTS is div, section, li, whatever you'd like. See the example for more information.
You can specify options by setting them as a data-attribute, for example: data-watch="true".
$('.yourelements').equalHeights([options]);
Select whatever elements need equal height. You can optionally pass in an object with one or more options
#### Option: wait
If you pass in {wait: true} your elements' height will only be equalized as soon as they have layout.
$('.yourelements').equalHeights({wait: true});
#### Option: watch
Pass in {watch: true} if you want to execute equalHeights on resize. This can improve the responsiveness of the elements with equalized heights.
$('.yourelements').equalHeights({watch: true});
#### Option: unwatch
Pass in {unwatch: true} to unwatch a set of elements that are currently watched.
$('.yourelements').equalHeights({unwatch: true});
If using @font-face or Google Web Fonts, you may need to wrap the function call in a setTimeout for 100ms-200ms or call it on window load (jQuery.height() needs to fire after the font is rendered to properly calculate the height). Otherwise even the wait option could fail here as the element might be rendered and have layout before the fonts are loaded and applied.
Tested with jQuery 1.7.x.
Works in IE6+, Chrome 14+, Safari 4+, Firefox 3.0+, Opera 10+.
See example.html in examples folder.
* betweenbrain
* Korri
* pafnuty
* osartun
#### Version 1.5.3
* major rewrite (props osartun)
* add watch, unwatch, and wait options
#### Version 1.5.2
* version bump for bower
#### Version 1.5.1
* fix bug with $.height() in jQuery 1.8+ with double padding when box-sizing is set to border-box
#### Version 1.5.0
* added Grunt for linting and minification
* change auto-initialization to use a single data attribute (props pafnuty)
#### Version 1.4.2
* allow multiple data-heights elements per page (props Korri)
#### Version 1.4.1
* add bower support
#### Version 1.4
* allow auto initialization with data-heights and data-targets (props betweenbrain)
#### Version 1.3
* properly return the jQuery object to allow chaining
#### Version 1.2
* properly cache $(this) since it's called twice in the main function
* calculate height by innerheight() instead of height() to include any padding
#### Version 1.1
* cleaned up function call
* updated example.html to properly validate
#### Version 1.0
* initial version