var minimized_elements = $('p.minimize');
minimized_elements.each(function () {
var t = $(this).text();
if (t.length < 325) return;
$(this).html(
t.slice(0, 325) + '<span class="elip">... </span><a href="#" class="more">more</a>' +
'<span class="overflow" style="display:none;">' + t.slice(325, t.length) + ' <a href="#" class="less">less</a></span>');
});
$('a.more', minimized_elements).click(function (event) {
event.preventDefault();
var anchor = $(this);
var para = anchor.closest(".minimize"); //the parent wrapper
para.find(".elip, .more").hide();
para.find(".less").show();
var currentHeight = para.height();
para.data("height", currentHeight);
para.height(para.height()).css("overflow","hidden"); //set the parent height and set overflow to hidden
para.find(".overflow").css("display","inline"); //show the hidden text (really should have a class)
para.animate({ //use animate instead of slide down, use the scrollHeight to know where to stop
height : para[0].scrollHeight
}, 500, "swing", function() {
para.height("auto"); //reset height when done
});
});
$('a.less', minimized_elements).click(function (event) {
event.preventDefault();
var anchor = $(this);
var para = anchor.closest(".minimize"); //the parent wrapper
para.find(".less").hide();
para.animate({ //use animate instead of slide down, use the scrollHeight to know where to stop
height : para.data("height"),
}, 500, "swing", function() {
para.find(".overflow").hide();
para.find(".elip, .more").show();
para.height("auto"); //reset height when done
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p class="minimize">Lorem ipsum dolor sit amet, justo laoreet eu qui. Iudicabit torquatos cu sit, at prompta fastidii fabellas mei. Cum laudem meliore reformidans cu, quas verear fabellas sed at. Et wisi invidunt apeirian nec, te tota altera postulant mea, mel ne possim omnesque. Meis molestie patrioque sea in, vero gubergren sed eu, id vim modus electram. Mei aeque omittam instructior ei. Lorem ipsum dolor sit amet, justo laoreet eu qui. Iudicabit torquatos cu sit, at prompta fastidii fabellas mei. Cum laudem meliore reformidans cu, quas verear fabellas sed at. Et wisi invidunt apeirian nec, te tota altera postulant mea, mel ne possim omnesque. Meis molestie patrioque sea in, vero gubergren sed eu, id vim modus electram. Mei aeque omittam instructior ei.</p>