Skip to content

Instantly share code, notes, and snippets.

@kenkeiter
Created August 28, 2011 19:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenkeiter/1177073 to your computer and use it in GitHub Desktop.
Save kenkeiter/1177073 to your computer and use it in GitHub Desktop.
JQuery zoom text to extents, supporting multiple inline spans.
;(function($){
$.fn.textExtents = function(options){
var spans = $('span:visible', this);
var heightMax = parseInt($(this).css('max-height'));
var widthMax = parseInt($(this).css('max-width'));
var fontSize = options.maxFontSizePx;
do{
var textHeight = 0;
var textWidth = 0;
$(spans).each(function(){
$(this).css('font-size', fontSize);
if($(this).height() > textHeight){ textHeight = $(this).height(); }
textWidth = textWidth + $(this).width();
});
fontSize = fontSize - 1;
} while ((textHeight > heightMax || textWidth > widthMax) && fontSize > 3);
return this;
}
})(jQuery);
$(document).ready(function(){
$('.text-extents').textExtents({maxFontSizePx: 36});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment