Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 60

Раскрывающий текст

29.12.2014, 01:35. Показов 1327. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток, подскажите пожалуйста. У меня есть длинный текст, к примеру :
C
1
Меглинская грозит пальчиком Каламкарову, Безукладников фотографирует мои ноги лейкой d-lux4, которую, кажется, им всем выдают на входе, Слюсарев на экране кидает палочку невидимому животному и голосом Людовика XIV говорит “фотография – это я”, а потом из зала на сцену выходит деус экс макиной Лапин, поворачивается к дискуссантам спиной, вежливо запрещает им употреблять слово “искусство” и удаляется на своё место в облаке серы и аплодисментов.
Как сделать чтобы после N числа символов появлялось ... и кнопчка читать далее, и при клике Читать далее выпадал оставшийся текст
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2014, 01:35
Ответы с готовыми решениями:

Раскрывающий список
Как сделать раскрывающий список для каждый записи в таблице бд через vb.06? Пример в таблице Нужно где марка можно было бы выбрать...

Раскрывающий список с навигационного меню
Уже перелистал кучу сайтов, но никак не могу доделать, чтобы во вкладке "ЕЩЕ", при наведении мыши был раскрывающийся список. Может кто...

Готовый код, раскрывающий суть типов переменных
(Админ оформи сам если, что.) Я начал изучать си пока мне объясняли про типы переменных решил запилить вот такую прогу. Это код ...

9
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
29.12.2014, 06:31
уточните - у вас именно текст?
т.е. нет ни одного HTML-тега?
ни <p>, ни <br>, ни <b>, ни <i>...?
это важно
0
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 60
30.12.2014, 17:23  [ТС]
да, просто текст
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
30.12.2014, 18:11
Цитата Сообщение от StiLiuS Посмотреть сообщение
просто текст
можно так сделать (пример в песочнице):
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function cutText(el, n) {
    var d = document,
        str = el.textContent,
        but = d.createElement('button'),
        cut = d.createElement('div'),
        eps = d.createElement('span');
 
    but.textContent = 'Читать дальше';
    but.addEventListener('click', function () {
        this.nextElementSibling.style.display = 'inline';
        this.previousElementSibling.style.display = 'none';
        this.style.display = 'none';
    }, false);
 
    cut.style.display = 'none';
    cut.textContent = str.slice(n);
 
    eps.textContent = ' ... ';
 
    el.textContent = str.slice(0, n);
    el.appendChild(eps);
    el.appendChild(but);
    el.appendChild(cut);
 
}
// .long_txt - заменить на свой класс элементов, в которых нужно убирать текст под кат.
[].forEach.call(document.querySelectorAll('.long_txt'), function (el) {
    cutText(el, 30); // 30 - число символов
});
0
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 60
30.12.2014, 23:47  [ТС]
Добавил
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<script>function cutText(el, n) {
    var d = document,
        str = el.textContent,
        but = d.createElement('button'),
        cut = d.createElement('div'),
        eps = d.createElement('span');
 
    but.textContent = 'Читать дальше';
    but.addEventListener('click', function () {
        this.nextElementSibling.style.display = 'inline';
        this.previousElementSibling.style.display = 'none';
        this.style.display = 'none';
    }, false);
 
    cut.style.display = 'none';
    cut.textContent = str.slice(n);
 
    eps.textContent = ' ... ';
 
    el.textContent = str.slice(0, n);
    el.appendChild(eps);
    el.appendChild(but);
    el.appendChild(cut);
 
}
// .long_txt - заменить на свой класс элементов, в которых нужно убирать текст под кат.
[].forEach.call(document.querySelectorAll('.long_txt'), function (el) {
    cutText(el, 30); // 30 - число символов
});</script>
ну и текст
HTML5
1
<div class="long_txt">1231564564af64w65e4f6w5e4g6w4g564wer56g456ewar4gb56ers4b56esr4b56e4srb564er65b4e56sr4b56er</div>
нет кноппочки читать далее
библиотека подключена
JavaScript
1
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
31.12.2014, 00:06
Цитата Сообщение от StiLiuS Посмотреть сообщение
нет кноппочки читать далее
Или разместите код в самом низу страницы перед закрывающим тегом </body>, или измените так:
JavaScript
1
2
3
4
5
window.addEventListener('load', function(){
    [].forEach.call(document.querySelectorAll('.long_txt'), function (el) {
        cutText(el, 30);
    });
}, false);
Функция остаётся без изменений.
Цитата Сообщение от StiLiuS Посмотреть сообщение
библиотека подключена
Она тут и не нужна. Вы же не в раздел jQuery вопрос задали.

Добавлено через 4 минуты
P.S. Саму функцию переписывать смысла нет, но первую часть, раз уж используете jQuery, можно записать так и разместить в любом месте на странице (хотя, всё равно рекомендуется внизу страницы):
JavaScript
1
2
3
4
5
$(function(){
    $('.long_txt').each(function(i, el){
        cutText(el, 30);
    });
});
0
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 60
31.12.2014, 00:23  [ТС]
А можно ли переделать чтобы внутри <p> было
HTML5
1
2
3
4
<div class="long_txt"><p>Значимость этих проблем настолько очевидна, что постоянное информационно-пропагандистское обеспечение нашей деятельности играет важную роль в формировании форм развития. Идейные соображения высшего порядка, а также начало повседневной работы по формированию позиции играет важную роль в формировании новых предложений. Не следует, однако забывать, что дальнейшее развитие различных форм деятельности позволяет выполнять важные задания по разработке форм развития.</p>
<p>&nbsp;</p>
<p>Таким образом новая модель организационной деятельности играет важную роль в формировании соответствующий условий активизации. Значимость этих проблем настолько очевидна, что реализация намеченных плановых заданий позволяет оценить значение…</p>
</div>
т.е. перенос строки, то при коде выше нет нового абзаца
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
31.12.2014, 00:37
Лучший ответ Сообщение было отмечено StiLiuS как решение

Решение

Цитата Сообщение от StiLiuS Посмотреть сообщение
А можно ли переделать чтобы внутри <p> было
Ну, вас же спрашивали выше...
Переделать можно , но если ждете от меня, то уже не сегодня.
1
0 / 0 / 0
Регистрация: 15.02.2011
Сообщений: 60
31.12.2014, 00:44  [ТС]
буду ждать ,спасибо) извините за недорозумение
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
31.12.2014, 02:01
StiLiuS, короче, тут вроде бы праздники надвигаются, поэтому, если кто-то другое решение не предложит, можете сделать так (перепишите саму функцию):
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function cutText(el, n) {
    var d = document,
        btn = d.createElement('button'),
        prv = d.createElement('div'),
        cont = d.createElement('div');
 
    btn.textContent = 'Читать дальше';
    btn.addEventListener('click', function () {
        var parent = this.parentNode;
        parent.nextElementSibling.style.display = 'block';
        parent.style.display = 'none';
    }, false);
 
    prv.innerHTML = el.textContent.slice(0, n) + ' ... ';
    prv.appendChild(btn);
 
    cont.innerHTML = el.innerHTML;
    cont.style.display = 'none';
 
    el.innerHTML = '';
    el.appendChild(prv);
    el.appendChild(cont);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.12.2014, 02:01
Помогаю со студенческими работами здесь

Удвоить вхождение некоторой буквы в текст. Например, текст "мама папа" должен иметь вид "маамаа паапаа" Текст
Удвоить вхождение некоторой буквы в текст. Например, текст &quot;мама папа&quot; должен иметь вид &quot;маамаа паапаа&quot; Текст вводить с...

Принять текст из пользовательского ввода, и напечатать этот текст на экране наоборот
Здравствуйте дорогие форумчане.Я изучаю python несколько дней, так что прошу не ругать) Столкнулся с единственной проблемой,на текущий...

Как через lxml достать сразу текст тега и текст подтега?
Имеется такой html: &lt;h3&gt; &lt;a&gt;Text1&lt;span&gt;Text2&lt;/span&gt;&lt;/a&gt; &lt;/h3&gt; Как можно достать сразу и Text1, и Text2? Я пользовался...

Перевести текст запросов на языке SQL на текст язык реляционной алгебры
В задание по базе данных сказано что нужно написать текст запросов на языке реляционной алгебры и на языке SQL. Разве это не одно и тоже?...

Как можно поменять текст в узлах в treeview на текст который в textbox
Добрый вечер! Помогите с кодом, как можно поменять текст в узлах в treeview на текст который в textbox. Заранее спасибо!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru