Свернуть категории форума
Скрипты, сворачивающие части форума
Сообщений 1 страница 6 из 6
Поделиться22006-09-02 01:21:36
автор кода - karpoff
это код с моего форума, пишите свои категории, и будет Вам щастье! Вставлял в ХТМЛ - низ, в верх не работает. все вопросы по коду на форум техподдержкитут
Поделиться32006-09-12 01:28:33
Вот скрипт сворачивания/разворачивания категорий с памятью
<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("ИМЯ_КАТЕГОРИИ")
В первых строчках скрипта можно менять названия кнопок Скрыть/Показать и картинки, которые отображаются справа от названия категории.
Потестируйте его пожалуйста на других браузерах. Возможно Опера не единственная, где возможны глюки.
Поделиться42006-09-12 01:41:47
Не, глючит
По умолчанию стоят все категории открытые.
Опера: не запоминает никакие личные настройки и ставит все категории снова открытыми.
ИЕ: наоборот, автоматом все сворачивает
Поделиться52006-10-18 04:27:53
Скрипт для добавления кнопочки Скрыть/показать Объявление
Вставляем в html-низ
Поделиться62006-10-21 02:00:23
Иногда возникает такая ситуация, когда нужно спрятать объявление, но не через интерфейс форума, потому что многие скрипты эффективнее работают именно в объявлении. Тогда мы просто включаем показ объявления и добавляем такой стиль:
<style> #pun-announcement {display:none} </style>
Если кому-то не нужна полоска ссылок "Новые сообщения" "Активные темы" 'Сообщения без ответов" 'Найти свои сообщения" 'Подписка" 'Все прочитано" добавьте такой стиль:
<style> #pun-ulinks {display:none} </style>