![]() |
|
Модераторы: Illuminaty |
![]()
|
|
| black_dragon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 13.4.2007 Где: Рязань Репутация: нет Всего: нет |
Добрый день.
Подскажите как можно реализовать следующее. Есть страница с большим количеством текста. Для удобства - показываем при выводе только часть, к примеру пару абзацев и ставим ссылку "подробнее" при клике по которой отображается полное содержимое страницы, но без перехода на другую страницу, а как бы показываем скрытую часть текста, которая выводится ниже, после ссылки "Подробнее". Предполагал вариант, когда для div с контентом ставим высоту к примеру 250 px и запрещаем прокрутку, а при клике по ссылке "подробнее" делаем высоту по содержимому. При этом есть 2 проблемы. Такая конструкция нужна не на всех страницах, а только там, где пользователь укажет эту ссылку "подробнее". А вторая - изначальная высота страницы со скрытым содержимым устанавливается пользователем - может это будет 3 предложения, может 3 абзаца, т.е. высота разная. Надеюсь более менее понятно объяснил задумку. Можно ли такое реализовать, или что-то на подобии. Спасибо |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 5 Всего: 55 |
А что вам мешает делать это только там, где пользователь укажет ссылку?
Опять же, что мешает ставить установленную пользователем высоту при выводе страницы? -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 9 Всего: 71 |
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| black_dragon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 13.4.2007 Где: Рязань Репутация: нет Всего: нет |
Gold Dragon, спасибо за пример, то что было нужно.
Только к содержимому страницы в панели управления добавлю еще поле типа "вводная часть". Если заполнено только оно - кнопку не рисуем, если поле с полным контентом заполнено - после "вводной части" рисуем кнопку. Спасибо за помощь |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 9 Всего: 71 |
Добавлено через 2 минуты и 7 секунд Если поле пустое или содержит только пробельные символы, то этот контейнер и кнопка удаляться.. если не пустое, то будет как было выше -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| nule |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 3.11.2011 Репутация: нет Всего: нет |
А как реализуют автоматическое выделение вводной части? Когда буквально в середине предложения ставится ... и ссылка "читать далее".
|
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 5 Всего: 55 |
Совсем воображение у людей отвалилось =)
Перед выводом текста просто проверяется его длина, если она больше указанной - обрезается все лишнее и ставятся три точки + ссылка. Если через JS, то можно просто видимую часть завернуть в один span, а скрытую в другой с display: none, который при потребности можно легко сделать видимым. Три точки и ссылку тоже можно поместить в span, чтобы их можно скрыть при разворачивании текста. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 9 Всего: 71 |
Arantir, рискуешь попасть на большой глюк... а если там тэги??? и очистить нельзя так как очень хочется сохранить форматирование
Добавлено @ 19:26 вот когда-то разрабатывал (не без помощи форума конечно) обрезание строки с сохранением форматирования (хотя явно не тот раздел)....
Это сообщение отредактировал(а) Gold Dragon - 25.1.2013, 19:27 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 5 Всего: 55 |
А если нет? =) Далеко не везде возможно присутствие тегов. Например, это какое-то простое описание, где теги не разрешены, но таких описаний на странице много и их надо обрезать до 100 символов, чтобы больше влезло. Вариантов можно придумать много, но цель оправдывает средства. Лично я не стал бы тратить лишние ресурсы на одну только мнимую возможность наличия тега в месте обрезки. Да и вообще на такие косметические операции тоже бы не стал, если честно =) Лучше поставить фиксированную высоту, а в конце строки картинку (абсолютно спозиционированную) с плавным уменьшением прозрачности, ну или на всю нижнюю строчку такую картинку (но уже с вертикальным градиентом). Распространенная практика. И выглядит красиво и не надо кучи лишних вычислений ни на php, ни на js. Там, где я припоминаю наличие обрезки с вставкой трех точек и ссылки, обычно никаких тегов в тексте не предусматривалось, это были простые описания фильмов, товаров и подобное. Соответственно, там навряд ли использовалось что-то более мудреное, чем простая проверка длины и обрезка. Никому свое мнение не навязываю, сейчас все всё больше ресурсов начинают тратить как раз визуальную часть интерфейса, просто я привык делать все как можно более эффективным с учетом требуемой универсальности, а не наоборот. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |