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

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


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

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

Пример: 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 недели спустя...
А не подскажете, передо мной стоит задача не только открыть текст (спасибо Вашему скрипту - вышло,)) и закрыть его той же "Показать подпись", но и после текста поместить кнопочку "Скрыть подпись". Как это возможно реализовать?
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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