Article Truncator
Truncates a body of text into a pre-specified number of words provided to the plugin.
by AlienWebguy
HTML
<div id="article_body">Short ribs drumstick bacon, <strong>bresaola andouille ground round hamburger ham tenderloin pancetta pork chop shank. Sausage beef </strong>venison, short loin pancetta strip steak corned beef drumstick. Flank venison corned beef pork swine. Jerky pork loin bacon, pig flank sirloin biltong ham hock tongue tri-tip pastrami short loin. Shank biltong boudin pork loin sausage ham venison, cow drumstick short ribs pork belly bresaola pancetta chuck andouille. Short ribs bacon fatback jerky shankle. Ribeye ball tip pork belly, beef brisket venison short ribs shoulder pork loin bacon.</div>
CSS
.toggle {
font-size:.6em;
color:red;
cursor:pointer;
}
.long {
display:none;
}
strong {
font-weight:bold;
}
JavaScript
$.fn.trunc = function(_break_at) {
var _article = jQuery(this).text();
var _leader = [];
var _trailer = [];
var _substr = _article.split(' ');
$(this).wrapInner('<div class="long"></div>');
$.each(_substr, function(i, data) {
if (i < _break_at) {
_leader.push(data);
}
});
if (_substr.length > _break_at) {
$('<div/>').addClass('short').html(_leader.join(' ')).prependTo(this);
$('<span/>').appendTo('.long').addClass('toggle').html(' << Show less');
$('<span/>').appendTo('.short').addClass('toggle').html('... Show more >>');
}
$('.toggle').click(function() {
$('.short, .long').toggle('show');
});
};
$(function() {
// This is how you use it
$('#article_body').trunc(2);
});