/*! * jQuery.lineUp * ------------- * Just fix heights of the cols in the same row. * * @version 1.1.2 * @author mach3 * @url https://github.com/mach3/jquery-lineup * @require jquery.js */ !function(a){var b=function(){this.init.apply(this,arguments)};a.extend(b.prototype,{EVENT_FONT_RESIZE:"lineup.fontresize",defaults:{onFontResize:!0,onResize:!0,checkFontInterval:10,fontSamplerName:"lineup-font-size-sampler",hook:a.noop},options:{},nodes:null,sampler:null,init:function(b,c){this.nodes=a(b),this.options={},this.config(this.defaults).config(c),this.refresh(),this.get("onResize")&&a(window).on("resize",a.proxy(this.refresh,this)),this.get("onFontResize")&&(this.sampler=this.getFontSampler(),this.sampler.on(this.EVENT_FONT_RESIZE,a.proxy(this.refresh,this)))},config:function(b){return a.extend(this.options,b),this},get:function(a){return this.options[a]},refresh:function(){var b,c,d,e,f;return b=this.nodes.toArray(),c=[],d=null,e=this.get("hook"),b.sort(function(b,c){return a(b).offset().top-a(c).offset().top}),f=function(){var b=0;a(c).each(function(){b=Math.max(b,a(this).height())}).each(function(){a(this).height(b)}),c=[]},this.reset(),a.each(b,function(){var b=a(this);null!==d&&b.offset().top!==d&&f(),d=b.offset().top,c.push(this)}),f(),a.isFunction(e)&&e(this),this},reset:function(){return this.nodes.css("height",""),this},getFontSampler:function(){var b,c,d;return b=this.get("fontSamplerName"),c=a("#"+b),c.length?c:(c=a("").text("M").css({position:"absolute",visibility:"hidden"}).attr("id",b).appendTo("body"),c.data("height",c.height()),d=function(a){var b=this.height();this.data("height")!==b&&(this.trigger(a),this.data("height",b))},c.data(setInterval(a.proxy(d,c,this.EVENT_FONT_RESIZE),this.get("checkFontInterval"))),c)}}),a.fn.extend({lineUp:function(c){var d,e;d=a(this),e=d.data("lineUp"),e instanceof b?(e.config(c),e.refresh()):d.data("lineUp",new b(this.selector,c))}}),function(){var b=a("script:last").data("lineupSelector");b&&a.each(b.split(","),function(b,c){a(c).lineUp()})}()}(jQuery);