Guest User

Untitled

a guest
Dec 13th, 2014
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. (function($){
  2. $.fn.jTruncate = function(options) {
  3.  
  4. var defaults = {
  5. length: 680,
  6. minTrail: 10,
  7. moreText: "- РАЗВЕРНУТЬ -",
  8. lessText: "",
  9. ellipsisText: "...",
  10. moreAni: "",
  11. lessAni: ""
  12. };
  13.  
  14. var options = $.extend(defaults, options);
  15.  
  16. return this.each(function() {
  17. obj = $(this);
  18. var body = obj.html();
  19.  
  20. if(body.length > options.length + options.minTrail) {
  21. var splitLocation = body.indexOf(' ', options.length);
  22. if(splitLocation != -1) {
  23. // truncate tip
  24. var splitLocation = body.indexOf(' ', options.length);
  25. var str1 = body.substring(0, splitLocation);
  26. var str2 = body.substring(splitLocation, body.length - 1);
  27. obj.html(str1 + '<span class="truncate_ellipsis">' + options.ellipsisText +
  28. '</span>' + '<span class="truncate_more">' + str2 + '</span>');
  29. obj.find('.truncate_more').css("display", "none");
  30.  
  31. // insert more link
  32. obj.append(
  33. '<div class="b-read-all m-collapsed" align="center">' +
  34. '<a href="#" class="truncate_more_link">' + options.moreText + '</a>' +
  35. '</div>'
  36. );
  37.  
  38. // set onclick event for more/less link
  39. var moreLink = $('.truncate_more_link', obj);
  40. var moreContent = $('.truncate_more', obj);
  41. var ellipsis = $('.truncate_ellipsis', obj);
  42. moreLink.click(function() {
  43. if(moreLink.text() == options.moreText) {
  44. moreContent.show(options.moreAni);
  45. moreContent.css("display", "inline");
  46. moreLink.text(options.lessText);
  47. ellipsis.css("display", "none");
  48. $(this).parent().removeClass('b-read-all m-collapsed');
  49.  
  50. } else {
  51.  
  52. }
  53. return false;
  54. });
  55. }
  56. } // end if
  57.  
  58. });
  59. };
  60. })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment