-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathjquery.fs.sizer.min.js
9 lines (8 loc) · 2.53 KB
/
jquery.fs.sizer.min.js
1
2
3
4
5
6
7
8
9
/*
* Sizer v3.0.6 - 2015-04-04
* A jQuery plugin for matching dimensions. Part of the Formstone Library.
* http://classic.formstone.it/sizer/
*
* Copyright 2015 Ben Plum; MIT Licensed
*/
!function(a,b){"use strict";function c(b){b=a.extend({},j,b||{});for(var c=a(this),e=0,f=c.length;f>e;e++)d(c.eq(e),b);return a("#sizer-style").length||a("body").append('<style id="sizer-style">.sizer-size:after { clear: both; content: "."; display: block; height: 0; line-height: 0; visibility: hidden; }</style>'),c}function d(b,c){if(!b.hasClass("sizer")){var d=a.extend({},{$sizer:b,$items:b.find(".sizer-item"),updateParent:b.hasClass("sizer-update")||b.find(".sizer-update").length>0,diabled:!1,resizeTimer:null,oldHeight:""},c,b.data("sizer-options"));d.$items.wrapInner('<div class="sizer-size" />'),d.$sizer.addClass("sizer").data("sizer",d),e({data:d}),d.$sizer.find("img").each(function(){var b=a(this);b[0].complete?e({data:d}):b.one("load",function(){e({data:d})})})}}function e(a){var b=a.data;b.resizeTimer=g(b.resizeTimer,5,function(){f(b)})}function f(a){var b=i.width(),c="";if(a.minWidth<b){c=0;for(var d=0;d<a.$items.length;d++){var e=a.$items.eq(d).find(".sizer-size").outerHeight(!0);e>c&&(c=e)}a.$items.css({height:c}),a.updateParent&&a.$sizer.css({height:c}).find(".sizer-update").css({height:c})}else a.$items.css({height:c}),a.$sizer.css({height:c});a.oldHeight!==c&&(a.oldHeight=c,a.$sizer.trigger("update.sizer").trigger("sized.sizer"))}function g(a,b,c){return h(a),setTimeout(c,b)}function h(a){a&&(clearTimeout(a),a=null)}var i=a(b),j={minWidth:0},k={defaults:function(b){return j=a.extend(j,b||{}),a(this)},disable:function(){return a(this).each(function(b,c){var d=a(c).data("sizer");d&&!d.disabled&&(d.disabled=!0,d.$items.css({height:""}),d.updateParent&&d.$sizer.css({height:""}).find(".sizer-update").css({height:""}))})},destroy:function(){return a(this).each(function(b,c){var d=a(c).data("sizer");d&&(d.$sizer.off(".sizer"),d.$items.css({height:""}),d.updateParent&&d.$sizer.css({height:""}).find(".sizer-update").css({height:""}),d.$items.find("sizer-size").unwrap())})},enable:function(){return a(this).each(function(b,c){var d=a(c).data("sizer");d&&d.disabled&&(d.disabled=!1,e({data:d}))})},resize:function(){return a(this).each(function(b,c){var d=a(c).data("sizer");d&&e({data:d})})}};a.fn.sizer=function(a){return k[a]?k[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?this:c.apply(this,arguments)},a.sizer=function(a){"defaults"===a&&k.defaults.apply(this,Array.prototype.slice.call(arguments,1))}}(jQuery,window);