-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathjquery-responsive-headlines.min.js
More file actions
1 lines (1 loc) · 1.44 KB
/
Copy pathjquery-responsive-headlines.min.js
File metadata and controls
1 lines (1 loc) · 1.44 KB
1
!function(e,t,n,i){function o(t,n){this.element=t,this.options=e.extend({},r,n),this._defaults=r,this._name=s,this.init()}var s="responsiveHeadlines",r={container:"parent",maxFontSize:9999,minFontSize:1,useThrottleDebounce:!0,throttleDebounceParams:{method:"debounce",delay:250,no_trailing:!1,at_begin:!1}};o.prototype={init:function(){var n=this,i=e(this.element),o=this.options;"inline"!==i.css("display")&&i.css("display","inline"),"nowrap"!==i.css("white-space")&&i.css("white-space","nowrap"),n.resizeText(),e(t).on("load",function(){n.resizeText()}),o.useThrottleDebounce?"throttle"===o.throttleDebounceParams.method?e(t).on("resize",e.throttle(o.throttleDebounceParams.delay,o.throttleDebounceParams.no_trailing,function(){n.resizeText()})):e(t).on("resize",e.debounce(o.throttleDebounceParams.delay,o.throttleDebounceParams.at_begin,function(){n.resizeText()})):e(t).on("resize",function(){n.resizeText()})},resizeText:function(){var t,n=e(this.element),i=this.options;t="parent"===i.container?n.parent():e("."+i.container);var o=t.width(),s=n.outerWidth(),r=parseInt(n.css("font-size"),10),a=r;if(o>s){for(;n.outerWidth()<t.width()&&i.maxFontSize>a;)a++,n.css("font-size",a);n.outerWidth()>t.width()&&i.minFontSize<a&&(a--,n.css("font-size",a))}else for(;n.outerWidth()>t.width()&&i.minFontSize<a;)a--,n.css("font-size",a)}},e.fn[s]=function(t){return this.each(function(){e.data(this,"plugin_"+s)||e.data(this,"plugin_"+s,new o(this,t))})}}(jQuery,window,document);