Страница 1 из 1

Тэг Spoiler на форуме

Добавлено: 12 окт 2010, 19:42
taimyr
Давно интересуюсь, почему в BB Code форума не работает тэг Spoiler (скрытие части текста, рисунков и т.д в отдельный раскрывающийся блок)? Вообще на многих форумах прятать картинки под спойлер считается хорошим тоном, а кое-где это даже за пользователя само делается :) Часто уместно бывает, например, в первом сообщении темы оставить только суть, а подробности вывести под спойлер...

Re: Тэг Spoiler на форуме

Добавлено: 12 окт 2010, 20:03
Максим Дубинин
Добавил кнопку спойлер.

Re: Тэг Spoiler на форуме

Добавлено: 12 окт 2010, 20:04
Максим Дубинин
Тест спойлера
Спойлер
Тут текст

Тут код

Код: Выделить всё

lm1 <- lm(y~x + x^2)
Тут картинка
Изображение
Надо только придумать что вместо spoiler и show поставить.

Re: Тэг Spoiler на форуме

Добавлено: 12 окт 2010, 20:16
taimyr
Вообще-то в идеале должно работать так :
Спойлер
СОДЕРЖИМОЕ
Но если пока не получается, то замена - spoiler - "скрытый текст", show - "читать далее"

Re: Тэг Spoiler на форуме

Добавлено: 12 окт 2010, 20:46
Максим Дубинин
то есть "свой заголовок" вместо слова Спойлер, так?

Re: Тэг Spoiler на форуме

Добавлено: 12 окт 2010, 20:47
taimyr
Именно так

Re: Тэг Spoiler на форуме

Добавлено: 12 окт 2010, 20:48
Максим Дубинин
Еще один тест спойлера с заданным текстом.
Спойлер
Текст

Re: Тэг Spoiler на форуме

Добавлено: 12 окт 2010, 21:01
Максим Дубинин
Вопрос к знатокам JS, добавить TEXT1 я сумел, а вот как добавить условие в bbcode, что если TEXT1='' then TEXT1='Спойлер' - не знаю

Сейчас так:

Код: Выделить всё

<div style="padding: 3px; background-color: #FFFFFF; border: 1px solid #d8d8d8; font-size: 1em;"><div style="text-transform: uppercase; border-bottom: 1px solid #CCCCCC; margin-bottom: 3px; font-size: 0.8em; font-weight: bold; display: block;"><span onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') {  this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerHTML = '<a href=\'#\' onClick=\'return false;\'>{TEXT1}</a>'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerHTML = '<a href=\'#\' onClick=\'return false;\'>{TEXT1}</a>'; }" /><a href="#" onClick="return false;">{TEXT1}</a></span></div><div class="quotecontent"><div style="display: none;">{TEXT2}</div></div></div>
Нужно обрабатывать ситуацию, когда человек ткнул в спойлер но ничего не ввел после =

Re: Тэг Spoiler на форуме

Добавлено: 13 окт 2010, 11:20
Mavka
Ммм... хочешь узнать пустая строка или нет? И не срабатывает условие str=''?
Тогда сравнивай по длине - str.len()=0.

Re: Тэг Spoiler на форуме

Добавлено: 14 окт 2010, 00:59
Максим Дубинин
Я не совсем понимаю как вместо {TEXT1}, например вот здесь:

Код: Выделить всё

this.innerHTML = '<a href=\'#\' onClick=\'return false;\'>{TEXT1}</a>';
подставить такую проверку.

Re: Тэг Spoiler на форуме

Добавлено: 21 окт 2010, 12:04
Mavka
Сделай как с тэгом [quote]. Там тоже можно поставить "=". Т.е. изначально по кнопке вставляется просто "spoiler", а если умные людишки поставили "=", то пусть сами и думают зачем они это сделали.