X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Кнопка "Далее" для продолжения статьи
r0mZet
r0mZet
Topic Starter сообщение 8.1.2014, 0:47; Ответить: r0mZet
Сообщение #1


Как технически реализовывается такой момент: Имеется статья на странице, но она очень длинная и хочется сделать из нее превью в виде первого абзаца, а последующее разворачивается нажатием кнопки ДАЛЕЕ. ???
P/S: не допуская переход на новую страницу. Сайт на PHP
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
olegr
olegr
сообщение 8.1.2014, 0:58; Ответить: olegr
Сообщение #2


<p class="myClass">
    Текст который будет обрезаться при достижении заданного максимального количества символов в нем.
</p>


В <head> подгружаем сначала jQuery, а потом сам плагин:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.truncatable.js"></script>


И инициализируем плагин, указав класс для которого будем его использовать:
$(function {
    $(".myClass").truncatable();
});


Опционально можно указать количество символов при превышении которого, текст будет скрыт. По умолчанию это количество символов равно 100.
$('.myClass').truncatable({ limit: 200, more: '.....', less: true, hideText: '[скрыть]' });


вот сам скрипт jquery.truncatable.js


(function($){$.fn.truncatable=function(options){var defaults={limit:100,more:'...',less:false,hideText:'[read less]'};var options=$.extend(defaults,options);return this.each(function(num){var stringLength=$(this).html().length;if(stringLength>defaults.limit){var splitText=$(this).html().substr(defaults.limit);var splitPoint=splitText.substr(0,1);var whiteSpace=new RegExp(/^\s+$/);for(var newLimit=defaults.limit;newLimit<stringLength;newLimit++){var newSplitText=$(this).html().substr(0,newLimit);var newHiddenText=$(this).html().substr(newLimit);var newSplitPoint=newSplitText.slice(-1);if(whiteSpace.test(newSplitPoint)){var hiddenText='<span class="hiddenText_'+num+'" style="display:none">'+newHiddenText+'</span>';var setNewLimit=(newLimit-1);var trunkLink=$('<a>').attr('class','more_'+num+'');$(this).html($(this).html().substr(0,setNewLimit)).append('<a class="more_'+num+'" href="#">'+defaults.more+'<a/> '+hiddenText);$('a.more_'+num).bind('click',function(){$('span.hiddenText_'+num).show();$('a.more_'+num).hide();if(defaults.less==true){$('span.hiddenText_'+num).append('<a class="hide_'+num+'" href="" title="'+defaults.hideText+'">'+defaults.hideText+'</a>');$('a.hide_'+num).bind('click',function(){$('.hiddenText_'+num).hide();$('.more_'+num).show();$('.hide_'+num).empty();return false})}});newLimit=stringLength}}}})}})(jQuery);
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Светозар
Светозар
сообщение 8.1.2014, 22:55; Ответить: Светозар
Сообщение #3


Как технически реализовывать такой момент: Имеется статья на странице, но она очень длинная и хочется сделать из нее превью в виде первого абзаца, а последующее разворачивается нажатием кнопки ДАЛЕЕ. ???
P/S: не допуская переход на новую страницу. Сайт на PHP


Чисто из любопытства, почему не допускается переход на новую страницу? И как это связанно с тем что сайт на PHP?
Представьте, что у вас 1000 новостей. На каждом будет загружаться этот скрипт, который в совокупности создаст не малую нагрузку. Куда большую чем если вы сделаете полную новость на другой странице!

НУ, а если у вас статья в одной "строке(бд)" то можно разделить скажем тегом [next] сделав метод, проверяющий на наличии данного сочетания символов будет выводить
<a href="url_next">title_next_url</a>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r0mZet
r0mZet
Topic Starter сообщение 8.1.2014, 23:23; Ответить: r0mZet
Сообщение #4


Потому что переход на новую страницу не желателен.
Как это связано с тем что сайт на РНР ? - не умничайте понапрасну, если Вы знаете больше меня то предложите пути решения я был бы Вам очень признателен и Ваш авторитет вырос бы в моих глазах.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
olegr
olegr
сообщение 9.1.2014, 2:16; Ответить: olegr
Сообщение #5


[member=r0mZet], надеюсь мой вариант вам помог )
Однако недостаток в виде обреза слова ровно по достижении 200 (или сколько вы укажете символов) можно заменить троеточием. ..[..]

Сообщение отредактировал GVA - 9.1.2014, 2:17
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r0mZet
r0mZet
Topic Starter сообщение 9.1.2014, 15:45; Ответить: r0mZet
Сообщение #6


[member=r0mZet], надеюсь мой вариант вам помог )
Однако недостаток в виде обреза слова ровно по достижении 200 (или сколько вы укажете символов) можно заменить троеточием. ..[..]

Да, спасибо!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 10.1.2014, 11:48; Ответить: fedornabilkin
Сообщение #7


Представьте, что у вас 1000 новостей. На каждом будет загружаться этот скрипт, который в совокупности создаст не малую нагрузку.

Простите, нагрузку на что? На браузер каждого пользователя?
Даже, если и 10000 новостей, они ведь не будут запрошены все одновременно :)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
3 Rebex 939 Вчера, 20:50
автор: Rebex
Открытая тема (нет новых ответов) Посоветуйте массажер для спины и шеи
10 Boymaster 894 Вчера, 18:02
автор: Boymaster
Открытая тема (нет новых ответов) Обучение Email Рассылкам + Софт Для Автоматизации (100к в сутки с сервера)
10 zennoboss 4653 Вчера, 5:20
автор: Skyworker
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
14 Aloof 3381 23.4.2024, 13:50
автор: Vmir
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыЛюблю творить! Статьи для вас
Копирайтинг- моя жизнь!
312 Zoya83 190713 23.4.2024, 7:51
автор: DimonX


 



RSS Текстовая версия Сейчас: 25.4.2024, 0:16
Дизайн