Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function($){
- $.fn.jTruncate = function(options) {
- var defaults = {
- length: 680,
- minTrail: 10,
- moreText: "- РАЗВЕРНУТЬ -",
- lessText: "",
- ellipsisText: "...",
- moreAni: "",
- lessAni: ""
- };
- var options = $.extend(defaults, options);
- return this.each(function() {
- obj = $(this);
- var body = obj.html();
- if(body.length > options.length + options.minTrail) {
- var splitLocation = body.indexOf(' ', options.length);
- if(splitLocation != -1) {
- // truncate tip
- var splitLocation = body.indexOf(' ', options.length);
- var str1 = body.substring(0, splitLocation);
- var str2 = body.substring(splitLocation, body.length - 1);
- obj.html(str1 + '<span class="truncate_ellipsis">' + options.ellipsisText +
- '</span>' + '<span class="truncate_more">' + str2 + '</span>');
- obj.find('.truncate_more').css("display", "none");
- // insert more link
- obj.append(
- '<div class="b-read-all m-collapsed" align="center">' +
- '<a href="#" class="truncate_more_link">' + options.moreText + '</a>' +
- '</div>'
- );
- // set onclick event for more/less link
- var moreLink = $('.truncate_more_link', obj);
- var moreContent = $('.truncate_more', obj);
- var ellipsis = $('.truncate_ellipsis', obj);
- moreLink.click(function() {
- if(moreLink.text() == options.moreText) {
- moreContent.show(options.moreAni);
- moreContent.css("display", "inline");
- moreLink.text(options.lessText);
- ellipsis.css("display", "none");
- $(this).parent().removeClass('b-read-all m-collapsed');
- } else {
- }
- return false;
- });
- }
- } // end if
- });
- };
- })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment