JSFiddle - React, Tailwind, and code Playground

by SimplyAzuma

HTML

<script src="http://pvp.comeze.com/cms/js/jquery.dotdotdot.min.js"></script>
<div class='article'>
    <div class='articleheader'>Title</div>
    <div id='article_$count' class='articlecontent'>
        <p>But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure? On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee<a href='#' class='readless'>Read Less</a>

        </p>
    </div>
</div>

CSS

html, body {
    margin: 0px;
    padding: 0px;
    background: #EDF1F2;
    height:100%;
    font-family:"Century Gothic", CenturyGothic, AppleGothic, sans-serif;
    font-size: 14px;
}
.article {
    margin:20px 0 20px 20px;
    background: #ffffff;
    width:500px;
    -webkit-box-shadow:3px 3px 10px 0 #C3C6C7;
    box-shadow:3px 3px 10px 0 #C3C6C7;
}
.articleheader {
    position:relative;
    top:0;
    line-height:40px;
    padding-left:20px;
    height:40px;
    text-align:left;
    color:#ffffff;
    background: #3B5766;
}
.articlecontent {
    padding:10px 20px 10px 20px;
}

JavaScript

/*Adds the "Read More" link and truncates the text when clicking read Less. */
$('.readless').click(function () {
    $(this).parents('div').eq(0).dotdotdot({
        ellipsis: '... ',
        wrap: 'word',
        fallbackToLetter: true,
        after: '<a href="#" class="readmore">Read more &raquo;</a>',
        watch: false,
        height: 100,
        tolerance: 10,
        lastCharacter: {
            remove: [' ', ',', ';', '.', '!', '?'],
            noEllipsis: []
        }
    });
});

/*Truncates all articles */
$("[id^=article]").dotdotdot({
    ellipsis: '... ',
    wrap: 'word',
    fallbackToLetter: true,
    after: '<a href="#" class="readmore">Read more &raquo;</a>',
    watch: false,
    height: 100,
    tolerance: 10,
    lastCharacter: {
        remove: [' ', ',', ';', '.', '!', '?'],
        noEllipsis: []
    }
});


/*removes truncation and shows the hidden "Read Less" link in content*/
$('.readmore').click(function () {
    $(this).parents('div').eq(0).trigger("destroy");
});