последние 30 сообщений Сделать стартовой Добавить в Избранное

*сНежный форум* - территория отдыха для всей семьи!

Объявление

lead

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » *сНежный форум* - территория отдыха для всей семьи! » Web-дизайн. Основы html. Скрипты. » Скрипты, сворачивающие части форума


Скрипты, сворачивающие части форума

Сообщений 1 страница 6 из 6

1

Свернуть категории форума

2

автор кода - karpoff
это код с моего форума, пишите свои категории, и будет Вам щастье! Вставлял в ХТМЛ - низ, в верх не работает. все вопросы по коду на форум техподдержкитут

3

Вот скрипт сворачивания/разворачивания категорий  с памятью

<script type="text/javascript">

str_hide = "http://uploads.ru/images/k/karpoff/up.gif"
str_show = "http://uploads.ru/images/k/karpoff/down.gif"
tit_hide = "Скрыть категорию."
tit_show = "Показать категорию"
offset=0
tableOffset=0
catCount=0

str=document.URL
page=str.substring(str.lastIndexOf('/')+1)

if( page=="" || page=="index.php" ) {
  findT();
  findO();

  //Добавляйте категории здесь
  hideCat("Общение")
  hideCat("Ысчо одна категория","close")
  hideCat("Админка","close")
}

function checkCookie(name,index) {
if(window.navigator.appName=="Opera")
  return false
cook = unescape(document.cookie)

if( pos=cook.indexOf(name) )
{
    state=cook.substring(pos-2,pos)
    if(state=="op")
    showCat(index)
    else closeCat(index)
   
    return true
}
return false
}

function saveCookie() {
if(window.navigator.appName=="Opera")
  return false
s=""
for(i=0;i<20;i++)
{
    elem=document.getElementById("inp"+i)
    if(elem)
    {
    if(document.getElementById("tab"+i).style.display=="none") state="cl"
    else state="op"
    name = document.getElementById("tab"+i).name
    s+=escape(state+name+'\n');
   
    catCount--
    }
   
    if(catCount==0)
    break;
}
document.cookie=s+'; expires=Fri, 01-Jan-2010 00:00:01 GMT';
}

window.onunload = saveCookie

function hideCat(name, state){
  index = findCat(name)

  if(index==-1) return -1
  catCount++

  str  = "<div class=\"catleft\"><!-- --></div>"
  str += "<img title=\"" + tit_show + "\" align=\"right\" style=\"cursor: hand;\" src=" + str_show + " id=inp"+index+" onclick='changeCat("+index+")'>"   
  str += name
  str += "<div class=\"catright\"><!-- --></div>"
  document.getElementsByTagName ("h2") [index+offset] .innerHTML = str
 
  document.getElementsByTagName ("table") [index+tableOffset] .id = "tab"+index
  document.getElementById("tab"+index).name = name

  cl=checkCookie(name,index)
  if(state=="close" && !cl)
  closeCat(index) 
}

function findT()
{
  i=0
  arr=document.getElementsByTagName ("table")
 
  while(arr[i].summary.toLowerCase().substring(0,27)!="список форумов в категории:")
    i++

  tableOffset = i
}
function findO()
{
  arr = document.getElementsByTagName ("h2")
  i=0
  while(arr[i].innerHTML.substring(0,2)!="<D")
    i++
 
  offset=i
}

function findCat(name)
{
  arr = document.getElementsByTagName ("h2")
  i=offset

  while(arr[i].innerHTML.substring(0,2)=="<D")
  {
if(arr[i].innerHTML.toLowerCase().indexOf(name.toLowerCase())!=-1)
    return (i-offset)
i++
  }
 
  return -1
}

function changeCat(index){
  if(index==-1) return

  if(  document.getElementById("tab"+index).style.display!="none") closeCat(index)
  else showCat(index)
}

function closeCat(index){
  document.getElementById("tab"+index).style.display="none"
  document.getElementById("inp"+index).src = str_show
  document.getElementById("inp"+index).title = tit_show + " " + document.getElementById("tab"+index).name
}

function showCat(index){
    document.getElementById("tab"+index).style.display="block"
document.getElementById("inp"+index).src = str_hide
document.getElementById("inp"+index).title = tit_hide + " " + document.getElementById("tab"+index).name
}
</script>

Чтобы сделать категорию скрывающейся и изначально скрыть её, после строки //Добавляйте категории здесь вставьте строку hideCat("ИМЯ_КАТЕГОРИИ","close"), чтобы по умолчанию категория оставалась открытой, вставьте hideCat("ИМЯ_КАТЕГОРИИ")

В первых строчках скрипта можно менять названия кнопок Скрыть/Показать и картинки, которые отображаются справа от названия категории.

Потестируйте его пожалуйста на других браузерах. Возможно Опера не единственная, где возможны глюки.

4

Не, глючит :(

По умолчанию стоят все категории открытые.
Опера: не запоминает никакие личные настройки и ставит все категории снова открытыми.
ИЕ: наоборот, автоматом все сворачивает :(

5

Скрипт для добавления кнопочки Скрыть/показать Объявление
Вставляем в html-низ

6

Иногда возникает такая ситуация, когда нужно спрятать объявление, но не через интерфейс форума, потому что многие скрипты эффективнее работают именно в объявлении. Тогда мы просто включаем показ объявления и добавляем такой стиль:

Код:
<style>
#pun-announcement {display:none}
</style>

Если кому-то не нужна полоска ссылок "Новые сообщения" "Активные темы" 'Сообщения без ответов" 'Найти свои сообщения" 'Подписка" 'Все прочитано" добавьте такой стиль:

Код:
<style>
#pun-ulinks {display:none}
</style>

Вы здесь » *сНежный форум* - территория отдыха для всей семьи! » Web-дизайн. Основы html. Скрипты. » Скрипты, сворачивающие части форума