Если в сообщении много тегов more, то при попытке открыть какой-то один открываются все. Так происходит из-за того, что все скрываемые тегами more элементы помещаются в таблицы с одним и тем же id в пределах конкретного сообщения. Нажатие по ссылке "Скрытый текст" запускает функцию tabviz из библиотеки gb_forum.js и передаёт ей в качестве параметра id соответствующей таблицы. Функция tabviz ищет все таблицы с этим id, находит их и в зависимости от ситуации скрывает или показывает их.
Со стороны пользователя может наблюдаться неудобство: при нажатии на один из "Скрытых текстов" в сообщении разворачиваются все "Скрытые тексты", из-за чего то, на что смотрел пользователь только что, может оказаться уже в другом месте страницы. Это затрудняет восприятие.
Варианты выхода:
1. Со стороны сервера - давать каждому следующему more в сообщении новый id.
2. Со стороны админов форумов - добавить скрипт, который, по сути, будет делать то же самое: искать ссылки "Скрытый текст" и соответствующие им таблицы, и менять в них id, чтобы были разными в пределах одного сообщения.
Первый вариант предпочтительнее, но пока его нет, можно воспользоваться вторым.
Скрипт добавляется в HTML-низ после </HTML>
<!-- Модификация к тегу MORE: Начало -->
<!-- Чтобы разворачивался тыкнутый Скрытый текст, а не все сразу -->
<script>
// регулярное выражение, ищущее отличительную черту ссылки "Скрытый текст" -
// это значение параметра href равное 'javascript:tabviz(X);' , где Х - цифры
var tabvizstr = /tabviz\(([0-9]+)\);/i;
aArray = document.getElementsByTagName('a');
for (m=1; m<aArray.length; m++){
aCurr = aArray[m];
strMatch = tabvizstr.exec(aCurr.getAttribute('href'));
if(strMatch != null){
MoreTagOldId = strMatch[1];
MoreTagNewId = strMatch[1]+m;
tableCurr = aCurr.nextSibling.nextSibling;
if (tableCurr.getAttribute('id') == MoreTagOldId) {
aCurr.setAttribute('href', 'javascript:tabviz('+MoreTagNewId+');');
tableCurr.setAttribute('id', MoreTagNewId);
}
}
}
</script>
<!-- Модификация к тегу MORE: Конец -->