//# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // //# TRUNCATE (function($) { $.fn.jTruncate = function() { return this.each(function() { var obj = $(this); var dataHtml = obj.html().replace(/<\s*br\/*>/g, '▪').replace(/(<.*?>)/g, ''); var lengthLength = obj.attr('data-length') || 300; var dataMore = obj.attr('data-more') || 'more'; var dataLess = obj.attr('data-less') || 'less'; var dataEllipsis = obj.attr('data-ellipsis') || '...'; if ( dataHtml.length > lengthLength ) { var splitLocation = dataHtml.indexOf(' ', lengthLength); if ( splitLocation != -1 ) { var textVisible = dataHtml.substring(0, splitLocation).replace(/\▪/g, '
'); var boxVisible = $('', { 'class': 'box-visible', text: textVisible }); var boxEllipsis = $('', { 'class': 'box-ellipsis', text: dataEllipsis }); var boxActionbar = $('
', { 'class': 'box-actionbar', text: '' }); var linkMore = $('', { 'class': 'link-more', text: dataMore }); //var textHidden = dataHtml.substring(splitLocation, dataHtml.length - 1).replace(/\▪/g, '
'); //var boxHidden = $('', { 'class': 'box-hidden', text: textHidden }); var fullText = obj.html(); console.log(fullText); var boxHidden = $('', { 'class': 'box-hidden', html: fullText }); linkMore.appendTo(boxActionbar); obj.html('').append(boxVisible, boxEllipsis, boxHidden, boxActionbar); linkMore.on('click.truncateEvent', function(e) { stopEvent(e); if ( linkMore.text() == dataMore ) { $(this).text(dataLess).addClass('open'); boxEllipsis.addClass('hide'); boxVisible.addClass('hide'); boxHidden.addClass('show'); } else { $(this).text(dataMore).removeClass('open'); boxEllipsis.removeClass('hide'); boxVisible.removeClass('hide'); boxHidden.removeClass('show'); } }); } } }); } })(jQuery); //# INIT JTRUNCATE $(document).ready(function() { if ( $('[data-truncate="true"]').length != 0 ) { $('[data-truncate="true"]').jTruncate(); } });