Permalink
Browse files

initial upload to repo

  • Loading branch information...
0 parents commit 1ff5f77b7447c8de6b4566865fcb2698d1acd120 @maggiewachs maggiewachs committed Dec 29, 2011
Showing with 47 additions and 0 deletions.
  1. +47 −0 jQuery.equalHeights.js
@@ -0,0 +1,47 @@
+/*--------------------------------------------------------------------
+ * JQuery Plugin: "EqualHeights" & "EqualWidths"
+ * by: Scott Jehl, Todd Parker, Maggie Costello Wachs (http://www.filamentgroup.com)
+ *
+ * Copyright (c) 2007 Filament Group
+ * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
+ *
+ * Description: Compares the heights or widths of the top-level children of a provided element
+ and sets their min-height to the tallest height (or width to widest width). Sets in em units
+ by default if pxToEm() method is available.
+ * Dependencies: jQuery library, pxToEm method (article: http://www.filamentgroup.com/lab/retaining_scalable_interfaces_with_pixel_to_em_conversion/)
+ * Usage Example: $(element).equalHeights();
+ Optional: to set min-height in px, pass a true argument: $(element).equalHeights(true);
+ * Version: 2.0, 07.24.2008
+ * Changelog:
+ * 08.02.2007 initial Version 1.0
+ * 07.24.2008 v 2.0 - added support for widths
+--------------------------------------------------------------------*/
+
+$.fn.equalHeights = function(px) {
+ $(this).each(function(){
+ var currentTallest = 0;
+ $(this).children().each(function(i){
+ if ($(this).height() > currentTallest) { currentTallest = $(this).height(); }
+ });
+ if (!px || !Number.prototype.pxToEm) currentTallest = currentTallest.pxToEm(); //use ems unless px is specified
+ // for ie6, set height since min-height isn't supported
+ if ($.browser.msie && $.browser.version == 6.0) { $(this).children().css({'height': currentTallest}); }
+ $(this).children().css({'min-height': currentTallest});
+ });
+ return this;
+};
+
+// just in case you need it...
+$.fn.equalWidths = function(px) {
+ $(this).each(function(){
+ var currentWidest = 0;
+ $(this).children().each(function(i){
+ if($(this).width() > currentWidest) { currentWidest = $(this).width(); }
+ });
+ if(!px || !Number.prototype.pxToEm) currentWidest = currentWidest.pxToEm(); //use ems unless px is specified
+ // for ie6, set width since min-width isn't supported
+ if ($.browser.msie && $.browser.version == 6.0) { $(this).children().css({'width': currentWidest}); }
+ $(this).children().css({'min-width': currentWidest});
+ });
+ return this;
+};

0 comments on commit 1ff5f77

Please sign in to comment.