Ограничение текста по кол-ву символов в записи

#1 27 апреля 2015 в 10:54
Вопрос такого плана как сделать хайдер на странице записи по кол-ву символов, т.е вывели например 1000 символов текста, а остальное показывать по нажатию на кнопочку "Подробно"?
Ну или как вариант, по высоте, т.е при достижении определенной высоты текст скрывается под спойлер..
Подскажите примеры с исходниками…
#2 27 апреля 2015 в 11:15
  1. <script language="Javascript" src="http://site-na-okis.ru/file/site-na-okis_ru/javas/mik.js" type="text/javascript"></script>
  2. <script type="text/javascript">
  3. (function ($) {
  4. $(document).ready(function () {
  5. if($(".dddes").text().length > 0)
  6. $(".dddes").trunc(100, "<div class='read_more'>"+'[[Читать далее....]]</div>');
  7. });
  8. })(jQuery);
  9. </script>
#4 27 апреля 2015 в 11:20
Loadырь, спасибо, как всегда я Вам премного благодарен… Сейчас что нибудь использую из этого…
#5 27 апреля 2015 в 11:28
HTML теги не собираетесь учитывать?
#6 27 апреля 2015 в 11:29
Иначе страница может «развалиться» из-за случайных непарных HTML элементов…
#7 27 апреля 2015 в 11:36

Иначе страница может «развалиться» из-за случайных непарных HTML элементов…

• Mike •
— не должна, в шаблоне же прописываем, хотя на практике посмотрим...
Вобщем посмотрел на js как то все на мой взгляд лишнее написано… Попробую такой вариант, чуть чуть модернизировать только надо max-height указать чтоб кнопку не показывать в случае если высота текста не достигает нужной и замена класса:
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  4. <style type="text/css">
  5. .spoiler {
  6. width: 200px;
  7. border: solid 1px red;
  8. padding: 10px;
  9. }
  10.  
  11. .spoiler p {
  12. margin: 0;
  13. padding: 0;
  14. }
  15.  
  16. .spoiler-hidden {
  17. height: 300px;
  18. overflow: hidden;
  19. }
  20.  
  21. .spoiler-show {
  22. height: auto;
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <div id="spoiler1" class="spoiler spoiler-hidden">
  28. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque auctor egestas dui, eu semper justo dictum ut. Morbi vitae felis eget mauris faucibus semper non id neque. Cras a augue leo, at viverra lectus. Proin tempor nunc quis diam vestibulum ac viverra nulla pharetra. Duis iaculis, leo sit amet ornare lacinia, leo nibh porta magna, vel porttitor lectus mi in enim. Pellentesque congue sem in mi feugiat quis tempus ante egestas. Curabitur ultrices auctor scelerisque. Mauris sollicitudin, lectus vel bibendum blandit, tellus risus fringilla turpis, eget congue magna elit et erat. Maecenas elementum suscipit vehicula. Nunc a hendrerit sapien. Duis nibh nisl, commodo vel iaculis at, adipiscing eu dui. Proin eleifend est quis tellus fringilla id ultricies diam viverra. Aenean leo enim, scelerisque quis porttitor sit amet, porta non nisi. Ut justo lectus, vehicula vitae condimentum nec, varius interdum sapien.</p>
  29. <p>Fusce condimentum, augue condimentum tincidunt hendrerit, justo quam mattis justo, sed adipiscing mauris libero id dui. In sagittis bibendum purus nec congue. In hac habitasse platea dictumst. Donec vitae felis neque, ut gravida velit. Curabitur fermentum neque in lorem tincidunt dignissim. Nulla facilisi. Aliquam sit amet mi risus, non feugiat nisl. Sed a felis in lorem hendrerit scelerisque ut at diam. Mauris quis eros quis ligula sagittis blandit non ac sapien. Pellentesque accumsan, lectus vel pellentesque dictum, sapien elit egestas velit, et blandit felis risus sed sem. Praesent vel ante id dui sodales lacinia. Sed sodales enim id tellus condimentum sed hendrerit metus lobortis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p>
  30. </div>
  31. <div class="spoiler-link">
  32. <a href="javascript: void(0);" onclick="document.getElementById('spoiler1').className = 'spoiler'">читать</a>
  33. </div>
  34. </body>
  35. </html>
#8 27 апреля 2015 в 11:43
‹strong›Текст‹/strong› — если я ограничу длину текста 10 символами что получится в итоге?
#9 27 апреля 2015 в 11:46
• Mike •, в моем примере тег закрытия то будет присутствовать в коде, просто визуально по css — overflow будет, поэтому не должен рассыпатся…
#10 27 апреля 2015 в 11:54

по кол-ву сибволов, т.е вывели например 1000 символов текста

jorgovich

— мои высказывания относятся к первоначальному вашему вопросу.

если вам не нужно подсчитывать кол-во символов просто проигнорируйте… ))
#11 27 апреля 2015 в 12:03
• Mike •, Да спс, я понял это, Loadырь, показал примеры, я посмотрел ну и на мой взгляд лучшим вариант с ограничением по высоте и использованием CSS выходит. Сейчас доделаю выложу, может кому пригодится…
#12 27 апреля 2015 в 13:42
То что хотел получил, если кто знает как лучше записать, с удовольствием поучусь, сейчас тестирую в разных браузерах:
Пример у меня:

Css:
  1.  
  2. .desc {position:relative; margin-top: 15px; padding: 5px; }
  3. .spoiler-desc{ max-height: 490px; overflow: hidden; margin-bottom:30px;}
  4. #spoiler-link{
  5. position: absolute;
  6. top: 510px;
  7. }
  8. .spoiler-hide{
  9. display:none;
  10. }
  11.  
HTML шаблона:
  1.  
  2. <?php if ($fields['content']){ ?>
  3. <div class="desc">
  4. <div id="spoiler" class="spoiler-desc">
  5. <div class="title"><?php html($fields['content']['title']); ?> :</div>
  6. <?php echo $fields['content']['handler']->parse( $item['content'] ); ?>
  7. </div>
  8. <div id="spoiler-link">
  9. <a href="javascript: void(0);" onclick="document.getElementById('spoiler').className = 'spoiler-full', document.getElementById('spoiler-link').className = 'spoiler-hide'">читать полностью</a>
  10. </div>
  11. </div>
  12. <?php unset($fields['content']); ?>
  13. <?php } ?>
  14.  
  15.  
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.