Перейти к контенту

Сворачивание подписи


Рекомендуемые сообщения

Немного посидел, подумал, оказалось не всё так сложно.

Пример: http://warhammer.kuz.ru/forum/index.php?showtopic=313

Описание: Вместо подписи отображается кнопка, по нажатии которой выдвигаеться подпись, наслучай если множество посетителей изъявляют желание ставить большие юзербары. С дизайнерской стороны выглядет вульгарно, но админы сами могут изменять кнопку.

 

Открыть: АДМИНЦЕНТР>ВНЕШНИЙ ВИД>Изменить HTML фрагменты (у всех стилей)>skin_global (Основные HTML фрагменты)>global_board_header

 

НАЙТИ:

<!--ipb.javascript.start-->

 

Добавить ПОСЛЕ:

<!-- НАЧАЛО ЯВАСКРИПТА SIGNATURE -->

<script language="JavaScript1.2">
<!--
var ns6=document.getElementById&&!document.all?1:0

var head="display:''"
var folder=''

function expandit(curobj){
folder=ns6?curobj.nextSibling.nextSibling.style:document.all[curobj.sourceIndex+1].style
if (folder.display=="none")
folder.display=""
else
folder.display="none"
}

//-->
</script>

<!-- КОНЕЦ ЯВАСКРИПТА SIGNATURE -->

 

Открыть: АДМИНЦЕНТР>ВНЕШНИЙ ВИД>Изменить HTML фрагменты (у всех стилей)>skin_global (Основные HTML фрагменты)>signature_separator

 

ЗАМЕНИТЬ ВСЁ НА:

<br><br>----------------<br>
<h1 style="cursor:hand" onClick="expandit(this)">Показать подпись</h1>
<span style="display:none" style=&{head};>
<div class="signature">$sig</div>
</span>

 

ГОТОВО! Последнее можно изменять как душе угодно.

Ссылка на комментарий
Поделиться на других сайтах

Как совет на будущее развитие мода: возможность пользователям выбирать чья подпись будет свернута, а чья нет (желательно хранить в БД)
Ссылка на комментарий
Поделиться на других сайтах

Как совет на будущее развитие мода: возможность пользователям выбирать чья подпись будет свернута, а чья нет (желательно хранить в БД)

+1

Ссылка на комментарий
Поделиться на других сайтах

Ещё сюда стоит Ajax прикрутить.

 

Т.к. подпись-то юзеру загружается - смысл её не отображать ?

 

Можно всё-таки трафик поэкономить :-)

Ссылка на комментарий
Поделиться на других сайтах

Честно говоря проверил на Опере, там подгружается после нажатия на кнопку, а не во время загрузки страницы. Хотя может быть действительно в других браузерах по-другому.
Ссылка на комментарий
Поделиться на других сайтах

Да, действительно опера не подгружает картинки со скрытых элементов.

 

можно и по-другому сделать, будет во всех браузерах работать =)

 

сделать так что-бы у фсех картинок в стиле объекта IMG, те что в подписи, было свойство `display` равно `none` , а при нажатии на кнопку "Показать картинку" ставилось `inline`.

 

Как совет на будущее развитие мода: возможность пользователям выбирать чья подпись будет свернута, а чья нет (желательно хранить в БД)

+1

Изменено пользователем freeman85
Ссылка на комментарий
Поделиться на других сайтах

>> Можно всё-таки трафик поэкономить :-)

ага и нагрузку на сервак увеличить..

 

чего вам этот ajax дался?

Он оправдан в некоторых местах, где действительно сокращает трафик и время доступа, но так чтобы его всюду пихать, это просто какое-то ажакс-маньячество.

Ссылка на комментарий
Поделиться на других сайтах

сделать так что-бы у фсех картинок в стиле объекта IMG, те что в подписи, было свойство `display` равно `none` , а при нажатии на кнопку "Показать картинку" ставилось `inline`.

 

отбой, всётаки грузяцца.

Ссылка на комментарий
Поделиться на других сайтах

вставишь h3 у надписи добавитсья фон

не пойму как связаны тег заголовка и фон, да и зачем вообще в подписи нужен заголовок, даже h6 большой и занимает много места..

 

PS за модификацию тем не менее спасибо!

Ссылка на комментарий
Поделиться на других сайтах

не пойму как связаны тег заголовка и фон, да и зачем вообще в подписи нужен заголовок, даже h6 большой и занимает много места..

 

PS за модификацию тем не менее спасибо!

Не ну здесь помоему ты меня не понял. Если поставить h3, то появится полоска, точно такая же, как и полоса названия темы.

Ссылка на комментарий
Поделиться на других сайтах

В изначальном виде - бессмысленно. Проще вообще подписи запретить, ибо они становятся никому не нужными.

Если по умолчанию оставить подписи видными и сделать возможность скрывать подписи отдельных пользователей с запоминанием в базе, чьи подписи не показывать - тогда да, мод обретает великий смысл и пользу.

Ссылка на комментарий
Поделиться на других сайтах

человек уже писал:

Сворачивание подписи

 

Всё конечно, конечно, сейчас занимаюсь "одеждой" фишки, думаю в течении следующей или в конце этой закончу полностью :D

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
Вроде бы это тормозит форум? И еще - когда подпись развернули, текст так и остался. Хорошо бы сделать "свернуть подпись" и "развернуть подпись".
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
  • 2 недели спустя...
Согласен и всецело поддерживаю =) собственно запоминания в базе актуально. очень ибо действительно простое скрытие равнозначно его отключению.
Ссылка на комментарий
Поделиться на других сайтах

<h1 style="cursor:hand" onClick="expandit(this)">Показать подпись</h1>

 

 

Можно чуть-чуть улучшу?

<h1 style="cursor:hand" onClick="javascript:expandit(this);this.innerHTML=''">Показать подпись</h1>

Ссылка на комментарий
Поделиться на других сайтах

UPD:

 

 

Немного посидел, подумал, оказалось не всё так сложно.

"Зацепила" меня эта "простота" :D

В браузерах, не поддерживающих джава-скрипт 1.2, подпись не развернуть.

Решил переписать по-своему.

Идея такова: Проверка на способность использования метода;

Если способен - показываем свернутую; если неспособен - показываем развернутую.

Да и методы eval и innerHTML раньше появились, а значит будут работать в более старых браузерах.

 

В итоге получилось вот что:

 

Открыть: АДМИНЦЕНТР>ВНЕШНИЙ ВИД>Изменить HTML фрагменты (у всех стилей)>skin_global (Основные HTML фрагменты)>signature_separator

 

ЗАМЕНИТЬ ВСЁ НА:

<script type="text/javascript">
if(document.innerHTML=" "){
var d_id=(Math.random()+'').replace('0.','d_id')
eval('document.write("<DIV style=\\"CURSOR: hand\\" onclick=\\"javascript:'+d_id+'.innerHTML=\'$sig\';\\"><div id=\\"'+d_id+'\\"  class=\\"signature\\">Показать подпись</div></DIV>");')
}
else{
document.write('<div class="signature">$sig</div>')
}
</script>

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
Что то не работает твой метод =(

Джаваскрипт точно рабочий.

Снес 2.1.7, протестировать на движке не смогу.

У себя на форумах сворачивать подписи пока не буду, юзеры не наглеют.

А вот тег [more] на этом методе сделаю может быть даже сегодня.

 

 

 

UPD

Сделал. Плохо получилось.

Метод не любит одиночных кавычек.

Кроме того, что пользователь может воспользоваться одиночной кавычкой, парсер их генерит на большинство ББ-кодов.

 

Мои извинения, предложенный мной метод не годится под эту задачу...

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
А не подскажете, передо мной стоит задача не только открыть текст (спасибо Вашему скрипту - вышло,)) и закрыть его той же "Показать подпись", но и после текста поместить кнопочку "Скрыть подпись". Как это возможно реализовать?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.