@incodit/readmore
Version:
A lightweight jQuery plugin for expanding and collapsing long content.
1 lines • 891 B
JavaScript
(()=>{var e;(e=jQuery).fn.readMore=function(a){var t=e.extend({moreLabel:"Read more",lessLabel:"Read less",moreClass:"",lessClass:"",wordsCount:50},a);function r(e,a){var r=e.html().trim().split(/\s+/);r.length>t.wordsCount&&(r.splice(t.wordsCount,9e9),r.push('<a href="#" data-id="'+a+'" class="readmore-expand-content '+t.moreClass+'">'+t.moreLabel+"</a>")),e.html((new DOMParser).parseFromString(r.join(" "),"text/html").body.innerHTML)}var s=[],n=[];this.each((function(a){var t=e(this);s.push(t.html()),n.push(t),r(t,a)})),e(document).on("click",".readmore-expand-content",(function(a){a.preventDefault();var r=e(this).attr("data-id");n[r].html(s[r]+'<a href="#" data-id="'+r+'" class="readmore-collapse-content '+t.lessClass+'">'+t.lessLabel+"</a>")})),e(document).on("click",".readmore-collapse-content",(function(a){a.preventDefault();var t=e(this).attr("data-id");r(n[t],t)}))}})();