Jquery/Javascript plugin to truncate text to fit container height and width
by johna | July 6, 2011 | Jquery/Javascript Web Development
I recently needed a Javascript function to truncate text to fit a container such as a DIV, not just in width but in height. I found plenty of functions that truncate to width but couldn't find anything by height so I created this Jquery plugin that does the job. Please note that it does not handle HTML so if HTML content is truncated it may truncate mid-tag and break the display.
To use the function use one the the following syntax:
Click here for an example
Your container should have a fixed height and overflow set to hidden. You will obviously also need to include the jQuery library.
If you only want to truncate a string to a single line, and want a server-side solution, then I recommend you read the Code Project article Truncating a text string in ASP.NET to fit within a given pixel width.
To use the function use one the the following syntax:
$("#id").truncate();Truncates to size of container and adds "..." if the text requires truncation.
$("#id").truncate(" <a href='#'>read more</a>");Truncates to size of container and adds specified text (in this example a read more link) if the text requires truncation.
Click here for an example
Your container should have a fixed height and overflow set to hidden. You will obviously also need to include the jQuery library.
(function ($) {
$.fn.truncate = function (options) {
if (!options) options = "...";
return this.each(function (num) {
var height = parseInt($(this).css("height"));
var content = $(this).html();
while (this.scrollHeight > height) {
content = content.replace(/s+S*$/, "");
$(this).html(content + options.more);
}
})
}
})(jQuery);
If you only want to truncate a string to a single line, and want a server-side solution, then I recommend you read the Code Project article Truncating a text string in ASP.NET to fit within a given pixel width.
Related Posts
Converting dBase IV programs to run in the browser
by johna | September 13, 2024
Some pointless entertainment trying to get some old dBase programs running in the browser.
How to set up a debugging using the Turnkey Linux LAMP stack and VS Code
by johna | December 19, 2023
The second part in my guide to setting up a website and database using the Turnkey Linux LAMP stack.
How to set up a website and database using the Turnkey Linux LAMP stack
by johna | November 18, 2023
If you need to host your own website for the purposes of web development, Turnkey Linux LAMP Stack is an easy to install all-in-one solution that you can set up on a spare computer or a VM (Virtual Machine).
Comments
by Ken | November 7, 2011
Thanks, works perfectly!
Reply
by Paolo Brocco | August 7, 2014
So far this is the best solution for an annoying problem with several plugins, scripts (I tried clamp and it didn't work) or dirty hacks around, THANK YOU!
In my implementation instead of "..." I use '…' (ellipsis, unicode 8230).
Reply
by Blah | March 3, 2015
Heaven forbid we get provided a legitimate example of it being used.
Reply
by John Avis | March 4, 2015
Thanks for your feedback, Blah. I have added an example.
Reply