Единый форум техподдержки сервиса SMFORUMBB.net.ru

Объявление

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

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



Скрипты

Сообщений 31 страница 49 из 49

31

Запрет перехода по всем ссылкам

<script language="JavaScript">
    var a = document.links
    var isadmin=0

    if(document.getElementById("navlogout")){
    str=document.getElementById("navprofile").getElementsByTagName("a")[0].href
    str=str.substring(str.indexOf("=")+1)
    if (str=="2")
        isadmin=1
    }

    if(isadmin==0){
    for (i in a)
        a[i].href="javascript:alert('Вы не можете перейти по этой ссылке')"

    if(li=document.getElementById("navlogin"))
        li.getElementsByTagName("a")[0].href="login.php"
    }
    </script>

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

0

32

Скрипт окна нововстей форума
Скрипт, в отличии от кодов, которые вы вставляете с других сайтов и которые призваны отображать чужие новости, позволяет сделать в объявлении или где-либо фрейм с вами лично составляемыми новостями о вашем форуме.
Принцип работы как у стандартных подобных фреймов. В начальном сотоянии в нем отображаются все новости одна под другой в обрезанном, сокращенном виде. Рядом же стоит ссылка позволяющая развернуть и прочитать выбранную новость. При нажатии на нее окно полностью занимает текст новости в полном виде и вверху и внизу кнопки "Назад", чтобы прочитав, можно было вернуться к ощему списку нововстей.

<div id="mynews" style="overflow: scroll; width: 300px; height: 200px;">aaa</div>
    <script type="text/javascript">
    var p=0
    var arrn=new Array(3)
    arrn[0]="<h1>Комментарии и предложения</h1><br /> Все чувства, будь то удовлетворение или недовольство работой сервиса и этого форума, радость или огорчение по поводу каких-либо изменений, а так же предложения по улучшению работы – всё это сюда.<br />"
    arrn[1]="<h1>Комментарии и предложения</h1><br /> Все чувства, будь то удовлетворение или недовольство работой сервиса и этого форума, радость или огорчение по поводу каких-либо изменений, а так же предложения по улучшению работы – всё это сюда.<br />"
    arrn[2]="<h1>Комментарии и предложения</h1><br /> Все чувства, будь то удовлетворение или недовольство работой сервиса и этого форума, радость или огорчение по поводу каких-либо изменений, а так же предложения по улучшению работы – всё это сюда.<br />"

    ........................................
    ........................................Вместо точек добавляйте совй строчки

    function cutNews(r)
    {var cut
    if (r.length>250)
    {cut=r.substr(0, 200)}
    else if ((r.length<=250)&&(r.length>=200))
    {cut=r.substr(0, 170)}
    else
    {cut=r}
    return cut}

    function getNews()
    {document.getElementById('mynews').innerHTML=""
    for (p=0; p<=2; p++)
    {document.getElementById('mynews').innerHTML=document.getElementById('mynews').innerHTML+cutNews(arrn[p])+"..."+"<a name='newie'>"+p+"</a>"+"<br /><br />"}
    defineIt()}

    function defineIt()
    {var net=document.getElementsByName("newie")
    var o=0
    for (o=0; o<=2; o++)
    {if (net[o].innerHTML=="0")
    {net[o].href ="javascript: allNews(0);"}
    else if (net[o].innerHTML=="1")
    {net[o].href ="javascript: allNews(1);"}

    else if (net[o].innerHTML=="2")
    {net[o].href ="javascript: allNews(3);"}}}

    function allNews(j)
    {var back="<p align='center'>"+"<a href='javascript: getNews();'><&#60 Назад</a></p>"
    document.getElementById('mynews').innerHTML=back+"<br />"+arrn[j]+"<br />"+back}

    getNews()
    </script>

Обратите внимание на салатовые строчки. Их должно быть столько, сколько у вас новостей одновременно показывается. Больше 10 не советую. Нумерация в квадратных скобках по порядку, с нуля. Вместо зеленой цифры поставьте число ваших новостей. Жирным в новостях обозначены заголовки новостей. Пренос на другую строку в тексте новости обозначайте как <br /> а не в коем случаем не энтером.
Посмотрите на синий блок скрипта. Их должно быть стоько, сколько у вас новостей. Там где жирные цифры не забывайте менять нумерацию.

Так же в CSS вы можете оформить дизайн окна по вашему разумению
<style type="text/css">
#my news {...}   само окно
#my news h1 {...}  заголовки в нем
#mynews a {...}  ссылки в нем.
</style>

0

33

Скрипт меню опций в дополнительном поле.
Нужен для того, чтобы в дополнительном поле в профиле, вместо обычной полосы ввода текста было ниспадающее меню преустановленных опций (селект), так чтобы юзер не сам заполнял текст а выбирал из них. Для всяких кланов, доп статусов и т.д.

1.Создаете дополнительное поле как обычно с нужным названием и установками

2. Вниз вставлем:

<script type="text/javascript">
    var cont=document.getElementsByTagName("legend")
    if (cont[0].innerHTML.indexOf("Укажите дополнительные данные")!=-1)
    {document.getElementById('fld1').style.display="none"
    var form=document.getElementById('profile8').innerHTML
    var init=document.getElementById('fld1').value
    document.getElementById('profile8').innerHTML=form.substring(0, (form.indexOf("fld1")-11))+"<select id='subst'>"+"<option value ='колдун'>колдун</option>"+"<option value ='вампир'>вампир</option>"+"<option value='ведьма'>ведьма</option>"+...+"</select>"+form.substr((form.indexOf("fld1")-11))
    document.getElementById('subst').value=document.getElementById('fld1').value
    document.getElementsByName('update')[0].onclick=transForm}
    function transForm()
    {document.getElementById('fld1').value=document.getElementById('subst').value
    return true}

    </script>

Вместо синих слов - вставляете свои ранги-опции. Чтобы увеличить их количество размножайте в скрипте этот блок
"<option value='ведьма'>ведьма</option>" вместо красного троеточия (если рангов больше не надо. тоеточие выкиньте), соединяя их между собой плюсами.
Если речь идет о втором посчету, а не опервом доп поле в профиле, в скрипте ВЕЗДЕ fld1 замените на fld2

0

34

Меняем местами пункты в информации о пользователе под аватаром.
Расчитан на те форумы, где количество пунктов у всех в окне с аватаром одинаково (за исключением ip для модеров).

Посчитайте число строк в этом окне. Например у меня на данном форуме вы их видите 7

Автор: Zebra
Модератор
Аватар
Зарегистрирован: 2006-11-04
Сообщений: 170
Репутация: [+33/-7]
Активен 

<script type="text/javascript">
var order=document.getElementsByTagName("ul")
var q=0
for (q=0; q<=(order.length-1); q++)
{if (order[q].innerHTML.indexOf("pa-author")!=-1)
{var order1=order[q].getElementsByTagName("li")
order[q].innerHTML=order1[0].outerHTML+order1[2].outerHTML+order1[3].outerHTML+order1[4].outerHTML+order1[5].outerHTML+order1[7].outerHTML+order1[6].outerHTML }}
</script>

Смотрим на синюю строчку. Видим , что у элементов в ней меняется тока номер в квадратных скобках. Это порядковый номер ваших строк профиля по умолчанию, если смотреть сверху вниз. Переставбте их в этой строке так. как вам вздумается.

0

35

Замена всех ссылок под сообщением на кнопки (ЛС, профиль, мыло, цитировать, редактировать, удалить)

<script type="text/javascript">
var trr=document.getElementsByTagName("div")
var fi=0
for (fi=0; fi<=(trr.length-1);fi++)
{if (trr[fi].className=="post-links")
{var drr=trr[fi].getElementsByTagName("a")
drr[0].innerHTML="<img src='картинка профиль'/>"
drr[1].innerHTML="<img src='картинка лс' />"
var er=2
for (er=2; er<=(drr.length-1); er++)
{if (drr[er].innerHTML.indexOf("E-mail")!=-1)
{drr[er].innerHTML="<img src='картинка мыла' />"}
else if (drr[er].innerHTML.indexOf("Вебсайт")!=-1)
{drr[er].innerHTML="<img src='картинка вебсайт'  />"}
else if (drr[er].innerHTML.indexOf("Цитировать")!=-1)
{drr[er].innerHTML="<img src='картинка цитировать'/>"}
else if (drr[er].innerHTML.indexOf("Редактировать")!=-1)
{drr[er].innerHTML="<img src='картинка правка' />"}
else if (drr[er].innerHTML.indexOf("Удалить")!=-1)
{drr[er].innerHTML="<img src='картинка удалить' />"}
}}}
</script>

0

36

Кнопка "вверх к первому сообщению" в каждом сообщении
Отображается в каждом сообщении в строке с номером сообщения

<script type="text/javascript">
var up=document.getElementsByTagName("h3")
var ini=up[0].getElementsByTagName("a")[0].href
var p=1
for (p=1; p<=(up.length-1); p++)
{up[p].innerHTML=up[p].innerHTML.substr(0, 14)+"<a href="+ini+">Upperpost</a>  "+up[p].innerHTML.substr(14)}
</script>

Вместо Upperpost - ваше слово ссылка
Если вместо буквенной ссылки нужна картинка-кнопка вместо upperpost вставляем

<img src='адрес картинки' />

!!! Вставлять строго в HTML под формой ответа.

0

37

то же, во варианте к самому верху страницы

<script type="text/javascript">
var up=document.getElementsByTagName("h3")
var ini=up[0].getElementsByTagName("a")[0].href
var p=1
for (p=1; p<=(up.length-1); p++)
{up[p].innerHTML=up[p].innerHTML.substr(0, 14)+"<a href='javascript: scroll(0, 0);'>"+"Upperpost</a>  "+up[p].innerHTML.substr(14)}
</script>

Вместо Upperpost опять все, что душе угодно.

0

38

При наведении мышки на гиперссылку в строке браузера отображается надпись.

<HTML>
<HEAD>
<TITLE> Движущееся приветствие в строке status
браузера </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function scrollit_r2l(seed) {
  var m1 = " Приветствуем вас на нашем форуме! ";
  var m2 = " Вас приветствует форум http://b.4bb.ru ";
  var msg=m1+m2;
  var out = " ";
  var c = 1;
  if (seed > 100) {
   seed--;
   var cmd="scrollit_r2l(" + seed + ")";
   timerTwo=window.setTimeout(cmd,100);
  }
  else if (seed <= 100 && seed > 0) {
   for (c=0 ; c < seed ; c++) {
    out+=" ";
   }
   out+=msg;
   seed--;
   var cmd="scrollit_r2l(" + seed + ")";
   window.status=out;
   timerTwo=window.setTimeout(cmd,100);
  }
  else if (seed <= 0) {
   if (-seed < msg.length) {
    out+=msg.substring(-seed,msg.length);
    seed--;
    var cmd="scrollit_r2l(" + seed + ")";
    window.status=out;
    timerTwo=window.setTimeout (cmd,100);
   }
   else {
    window.status=" ";
    timerTwo=window.setTimeout ("scrollit_r2l(100)",75);
   }
  }
}
//---->
</SCRIPT>
</HEAD>
<BODY background="" bgcolor=white text=#000000
link=#0000FF vlink=#8000FF alink=#FF0000 onLoad=
"timerONE=window.setTimeout('scrollit_r2l(100)',500);">
</BODY>
</HTML>

То что выдлено красным меняеш на своё.

0

39

Расположение сообщений на странице от более позднего (вверху) к более раннему (внизу)

<script type="text/javascript">
    var divs=document.getElementById('pun-main')
    var posts=divs.getElementsByTagName("div")
    var qaz=new Array(0)
    var qw=0
    function getPosts()
    {for (qw=0; qw<=(posts.length-1); qw++)
    {if (posts[qw].innerHTML.indexOf("permalink")!=-1)
    {qaz.splice (0, 0, posts[qw].outerHTML)}}
    return qaz
    }

    if (document.URL.indexOf("viewtopic")!=-1)
    {var po=getPosts().slice(0, ((getPosts().length/2)-1))
    document.getElementById('pun-main').innerHTML=document.getElementById('pun-main').innerHTML.substring(0, (document.getElementById('pun-main').innerHTML.indexOf("item1")-17))+po.join(" ")+"</div>"+document.getElementById('pun-main').innerHTML.substr((document.getElementById('pun-main').innerHTML.indexOf("modmenu")-12))}
    </script>

!!!Вставлять строго в HTML низ. В Html под формой ответа вызывает ошибку эксплорера.

0

40

Попап с картинкой при нажатии на ссылку

<script language="JavaScript">
    function poppict()
    {
    var msg = new String("")
    msg = "<img src='АДРЕС_КАРТИНКИ'>"

    popup = window.open("","popDialog","height=390,width=258")
    popup.document.write(msg)
    popup.document.close()

    return false
    }
    </script>

    <a id="poppict"  href="" onclick="return poppict()">Ссылка</a>

0

41

Перетекающая репутация (свободно репу может раздавать только админ, остальные могут лишь передавать уже имеющиеся у них баллы друг другу)
Скрипт работает корректно только в Эксплорере или в IE6-7, если вы не разбираетесь в скриптах мы не рекомендуем Вам его ставить.

<input type="button" value="Передать баллы" id="addhere"  /><br />Введите ник <input type="text" id="nickdest" /><br />
    Введите баллы <input type="text" id="addpoints" />
    <script type="text/javascript">
    document.getElementById('addhere').onclick=checksubtract
    function checksubtract()
    {if (((document.getElementById('addpoints').value.substr(0))*1)<=0)
    {alert ("Не мухлюй")}
    else
    {subtractIt()}}
    var cont
    var points
    var destination=document.getElementById('navprofile')
    var dest2=destination.getElementsByTagName("a")[0].href.substr((destination.getElementsByTagName("a")[0].href.indexOf("id=")+3))
    var dest3="http://testingmyforum1.4bb.ru/profile.php?section=fields&id="+dest2
    function subtractIt()
    {verifier=0
    var subtractor=window.open(dest3, "_blank", "toolbar=no, location=yes, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=yes, width=400, height=400")
    document.cookie=document.getElementById('nickdest').value+"subtract"+document.getElementById('addpoints').value}

    if (document.cookie.indexOf("subtract")!=-1)
    {var points0=document.cookie.substring(0, (document.cookie.indexOf("subtract")))
    var points=(document.cookie.substring((document.cookie.indexOf("subtract")+8)))*1
    var points1=(document.getElementById('fld2').value.substring(0))*1
    var points2=(points1-points)*1
    document.getElementById('fld2').value=points2
    document.getElementsByName("update") [0] .click()
    document.cookie=points0+"addpoints"+points
    }
    else if (document.cookie.indexOf("addpoints")!=-1)
    {var adder=window.open ("http://testingmyforum1.4bb.ru/sendmessage.php", "_self")
    var tyred=document.cookie.substring((document.cookie.indexOf("addpoints")+9))
    var tyred1=document.cookie.substring(0, (document.cookie.indexOf("addpoints")))
    document.cookie=tyred1+"writepo"+tyred}
    else if (document.cookie.indexOf("writepo")!=-1)
    {var balli=document.cookie.substring((document.cookie.indexOf("writepo")+7))
    var komu=document.cookie.substring(0, (document.cookie.indexOf("writepo")))
    var balli1="givepointstosomeone"+balli+"givepointstosomeone"
    document.getElementsByName("req_subject")[0].value="Вам баллы"
    document.getElementsByName("req_message")[0].value=balli1
    document.getElementsByName("req_username")[0].value=komu
    document.getElementsByName("submit") [0] .click()
    document.cookie="tyred"}
    else if (document.cookie.indexOf("tyred")!=-1)
    {
    window.close()
    document.cookie="fig"
    }
    else if (document.cookie.indexOf("delete")!=-1)
    {var newcookie=document.cookie.substr(6)
    document.getElementsByName("delete_messages_comply")[0].click()
    document.cookie="getpoints"+newcookie}
    else if ((document.cookie.indexOf("getpoints")!=-1)&&(document.URL.indexOf("profile.php?section=fields")==-1))
    {window.open (dest3, "_self")}
    else if ((document.cookie.indexOf("getpoints")!=-1)&&(document.URL.indexOf("profile.php?section=fields")!=-1))
    {var points=(document.cookie.substring(9))*1
    var points1=(document.getElementById('fld2').value.substring(0))*1
    var points2=(points1+points)*1
    document.getElementById('fld2').value=points2
    document.getElementsByName("update") [0] .click()
    document.cookie="fig"}

    if ((document.URL.indexOf("messages.php")!=-1)&&(document.getElementById('pun-crumbs1').innerHTML.indexOf("Cообщения / Входящие")!=-1)&&(document.getElementById('profile').innerHTML.indexOf("givepointstosomeone")!=-1))
    {var checks=document.getElementsByTagName("tr")
    var ty=0
    for (ty=0; ty<=(checks.length-1); ty++)
    {if (checks[ty].innerHTML.indexOf("Вам баллы")!=-1)
    {checks[ty].getElementsByTagName("input")[0].click()
    break}}
    var manyform=document.getElementsByTagName("form")[0].getElementsByTagName("input")
    manyform[manyform.length-1].click()
    document.cookie="delete"+document.getElementById('profile').innerHTML.substring((document.getElementById('profile').innerHTML.indexOf("givepointstosomeone")+19), document.getElementById('profile').innerHTML.lastIndexOf("givepointstosomeone"))}

    if (document.URL.indexOf("profile.php?section=fields")!=-1)
    {var cont=document.getElementById('fld2').value
    document.getElementsByName("update") [0] .onclick=checkIt }
    else if (document.URL.indexOf("sendmessage.php")!=-1)
    {document.getElementsByName("submit") [0] .onclick=checkthisToo}

    function checkthisToo()
    {if (((document.getElementsByName("req_message")[0].value.indexOf("givepointstosomeone")!=-1)||(document.getElementsByName("req_subject")[0].value.indexOf("Вам баллы")!=-1))&&((document.cookie.indexOf("writepo")==-1)||(document.referrer.indexOf ("testingmyforum1.4bb.ru")!=-1)))
    {alert ("Вы не можете отдать баллы, не отняв их у себя. Пользуйтесь специальной формой")
    return false}}

    function checkIt()
    {if (document.getElementById('pun-status').innerHTML.indexOf('Ник админа')==-1)
    {if (((document.getElementById('fld2').value!=cont)&&(document.cookie.indexOf("subtract")==-1)&&(document.cookie.indexOf("getpoints")==-1))||(document.referrer.indexOf ("testingmyforum1.4bb.ru")!=-1))
    {alert ("Вы не можете сами изменить свою репутацию")
    return false}}}

    </script>

Принцип работы
Создаете обычное дополнительное поле. !!!РАЗРЕШАЕТЕ ЕГО РЕДАКТИРОВАТЬ ВСЕМ ПОЛЬЗОВАТЕЛЯМ!!! Называете его "Репутация" или как взбредет в голову. Ставите скрипт.
Раздавать репутацию в свободном режиме ("Кому сколько захочу, раздаю баллы из воздуха") может только главный админ. Остальные же пользователи могут предоставить друг другу баллы только из своих собственных, отняв их у себя.
Делается это следующим образом. В Html низе, или же под форомой ответа (в зависимости от того, куда вбабахнете скрипт) находится небольшая форма. Пока она простейшего вида но ее дизайн потом можно поменять. Просто поросите в вопросах. В соответствующие поля пользователь вводит ник того, кому отдает баллы, и кол-во баллов (отрицательное число он ввести не сможет - ему покажут фигу). Жмет на кнопку "Передать баллы". В ответ на это, уже без участия пользователя, открывается маленькое окошко (!!!Объясните пользователям, что его закрывать нельзя, оно само закроется. когда будет можно!!!), в котором происходит изменение его собственного профиля - у него отнимают баллы, которые он передает - сохраняются изменения, открывается окно Написать личное собщение тому, кто получает баллы, в нем в письмоо вставляется специальный код и оно отправляется. Происходит это все автоматически. Окно закрывается. Далее, тот, кому отправили баллы, получает обычное личное сообщение. С темой "Вам баллы". При открытии этого письма, опять же автоматически, оно самоудаляется (чтоб его нельзя было открыть снова), открывается его профиль и добавляются баллы.
!!! Есть одно но. Скажите пользователям, что если им приходит несоклько сообщений с репой, открывать их надо, начиная с самого верхнегшо в списке.!!! Для их же блага.
При попытке самостоятельно изменить свою репутацию в пофиле пользователю показывают кукиш. При попытке отправить письмо с баллами, не отняв их у себя - тоже кукиш.
На обыденном уровне система от подделок защищена. Хотя возможность мухлежа таки остается. НО!!! Уверена, что большинство ваших пользователей не сможет разобрать код и подделать куки, а те, кто сможет, вряд ли так помешаны на репутации.  ;)
В IE работает абсолютно чисто. Насчет других браузеров гарантий дать не могу.

Что меняем в коде индивидуально
Все, что выделено красным.
Там где testingmyforum1.4bb.ru ВЕЗДЕ ставим свой адрес.
Там где fld2 опять же ВЕЗДЕ ставим fld1, если поле с репой первое по счету среди дополнительных, fld3 - если третье, fld2, если второе.
Там где Ник админа - свой ник.

0

42

Убираем пользователя из списка модеров
Под каждым форумом есть список его модераторов. Этот скрипт убирает пользователя из этого списка (только из списка. Права остаются)

<script>
    var supermod = new Array("karpoff","Zebra")

    var mod=document.getElementsByTagName("span")
    var str
    for(x in mod) if(mod[x].className=="modlist"){
    for(y in supermod)
        if((pos=mod[x].innerHTML.indexOf(supermod[y]))!=-1)
            mod[x].innerHTML=remName(mod[x].innerHTML,pos)
    }

    function remName(str,pos){
    var pos1=str.indexOf("<A href"),pos2=str.indexOf("<A href",pos1+1)
    if(pos2==-1) return("")

    while(pos>pos2 && pos2!=-1){
        pos1=pos2
        pos2=str.indexOf("<A href",pos1+1)
    }
    if(pos2==-1){
        pos2=str.length-1
        pos1-=2
    }
    return (str.substring(0,pos1)+str.substring(pos2,str.length))
    }
    </script>

в строке
var supermod = new Array("karpoff","Zebra")
через запятую перечисляете столько пользователей, сколько душе угодно

0

43

Убрать "Важно:"

Код:
<style type="text/css">
.stickytext {display:none}
</style>

Убрать "Важно:" и заменить стандартную иконку выделенной темы на свою:

Код:
<style type="text/css">
.stickytext {display:none}
tr.isticky div.icon {background: url(http://site.ru/icon.gif) no-repeat}
</style>

http://site.ru/icon.gif - заменить на ссылку иконки.

А заменить "Важно:" на иконку нельзя. Можно добавить только как фон к этой надписи.

0

44

Скрипт входа

- Как работатет?
[i] - Если вы гость выскакивает div-окно и просит зарегистрироваться или войти (сам исчезает через N-ное количество секунд)
- Где посмотреть пример?
- http://www.rnb.4bb.ru/
- Куда вставлять?
- В описание любого раздела Вашего форума.

А вот и сам код:

Код:
<script type='text/javascript'>
if (document.getElementById('pun-status').innerHTML.indexOf("Гость")!=-1)
{
var displaymode = 'always';
var enablefade = 'no';
var autohidebox = ['yes', 17];
var showonscroll = 'yes';
var IEfadelength = 1;
var Mozfadedegree = 0.05;

if (parseInt(displaymode) != NaN)
{
	var random_num = Math.floor(Math.random() * displaymode);
}

function display_hover_prompt()
{
	var ie = document.all && !window.opera;
	var dom = document.getElementById;
	var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
	var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
	var scroll_top = (ie) ? iebody.scrollTop : window.pageYOffset;
	var docwidth = (ie) ? iebody.clientWidth : window.innerWidth;
	var docheight = (ie) ? iebody.clientHeight: window.innerHeight;
	var objwidth = objref.offsetWidth;
	var objheight = objref.offsetHeight;
	objref.style.left = docwidth/2-objwidth/2+'px';
	objref.style.top = scroll_top+docheight/2-objheight/2+'px';

	if (showonscroll == 'yes')
	{
var showonscrollvar = setInterval('static_hover_prompt()', 50);
	}

	if (enablefade == 'yes' && objref.filters)
	{
objref.filters[0].duration = IEfadelength;
objref.filters[0].Apply();
objref.filters[0].Play();
	}

	objref.style.visibility = 'visible';
	if (objref.style.MozOpacity)
	{
if (enablefade == 'yes')
{
	var mozfadevar = setInterval('mozilla_hover_prompt_fade()', 90);
}
else
{
	objref.style.MozOpacity = 1;
	initiate_hover_prompt_hiding();
}
	}
	else
	{
initiate_hover_prompt_hiding()
	}
}

function mozilla_hover_prompt_fade()
{
	if (parseFloat(objref.style.MozOpacity) < 1)
	{
objref.style.MozOpacity = parseFloat(objref.style.MozOpacity)+Mozfadedegree;
	}
	else
	{
clearInterval(mozfadevar);
controlledhidebox();
	}
}

function static_hover_prompt()
{
	var ie = document.all && !window.opera;
	var dom = document.getElementById;
	var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
	var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
	var scroll_top = (ie) ? iebody.scrollTop : window.pageYOffset;
	var docwidth = (ie) ? iebody.clientWidth : window.innerWidth;
	var docheight = (ie) ? iebody.clientHeight: window.innerHeight;
	var objwidth = objref.offsetWidth;
	var objheight = objref.offsetHeight;
	objref.style.top = scroll_top+docheight/3-objheight/2+'px';
}

function hide_hover_prompt()
{
	var ie = document.all && !window.opera;
	var dom = document.getElementById;
	var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
	var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
	objref.style.visibility = 'hidden';
	if (typeof showonscrollvar != 'undefined')
	{
clearInterval(showonscrollvar);
	}
}

function initiate_hover_prompt_hiding()
{
	if (autohidebox[0] == "yes")
	{
var delayvar = (enablefade == 'yes' && objref.filters) ? (autohidebox[1]+objref.filters[0].duration)*1000 : autohidebox[1]*1000;
initiate_timer(delayvar);
setTimeout('hide_hover_prompt()', delayvar);
	}
}

function initiate_timer(time)
{
	var newtime = time-1000;
	setTimeout('update_timer('+newtime+')', 1000);
}

function update_timer(time)
{
	var timer = time/1000;
	var ie = document.all && !window.opera;
	var dom = document.getElementById;
	if (dom)
	{
var hp = document.getElementById('hptimer');
if (timer == 1)
{
	hp.innerHTML = "<small><i>Это окно закроется "+timer+" Секунда</i></small>";
}
else
{
	hp.innerHTML = "<small><i>Это окно закроется "+timer+" Секунд</i></small>";
}
	}
	var newtime = time-1000;
	setTimeout('update_timer('+newtime+')', 1000);
}

function initiate_hover_prompt()
{
	setTimeout('display_hover_prompt()', 100);
}

function get_cookie(Name)
{
	var search = Name + "=";
	var returnvalue = "";
	if (document.cookie.length > 0)
	{
var offset = document.cookie.indexOf(search);
if (offset != -1)
{
	offset += search.length;
	var end = document.cookie.indexOf(';', offset);
	if (end == -1)
	{
end = document.cookie.length;
	}
	returnvalue = unescape(document.cookie.substring(offset, end));
}
	}
	return returnvalue;
}

if (displaymode == 'always' || parseInt(displaymode) != NaN && random_num == 0)
{
	if (window.addEventListener)
	{
window.addEventListener('load', initiate_hover_prompt, false)
	}
	else if (window.attachEvent)
	{
window.attachEvent('onload', initiate_hover_prompt)
	}
	else if (document.getElementById)
	{
window.onload = initiate_hover_prompt;
document.cookie = 'fadedin=yes';
	}
}}
</script>
<style>
#hoverprompt {
position:absolute;
width:300px;
left:0;
top:-400px;
padding:4px;
z-index:100;
visibility:hidden
}
</style>
<div id="hoverprompt"><div class="borderwrap"><table cellSpacing="0" minmax_bound="true" id="table1">
<tbody minmax_bound="true"><tr minmax_bound="true"><th class="tcl" scope="col" minmax_bound="true">Добро пожаловать!<br><br><span class="style1">Уважаемый Гость, пожалуйста, авторизируйтесь или зарегистрируйтесь!<br><br><a href='register.php'><b>Регистрация</b></a>, откроет Вам много новых возможностей, недоступных для гостя, таких как скачивание песен, альбомов, клипов и возможность оставлять свои сообщения на форуме.<br><br><br>
Присоединяйтесь ;)
<br><br><br></p></span>
<p div align="center"><form id="login" class="container" method="post" action="http://rnb.4bb.ru/login.php?action=in" onsubmit="return my_form(this)">
<div align="center">
  <input type="hidden" name="form_sent" value="1"/>
  <input type="hidden" name="redirect_url" value="index.php"/>
</div>
<p align="center" class="inputfield required">
<label for="fld1" class="style1">Логин:</span></label>
<span class="input">
<input type="text" id="fld1" name="req_username" size="8" maxlength="25"/> 
<label for="fld2">Пароль:</label>
<label for="fld2"></label>
<span class="input">
<input type="password" id="fld2" name="req_password" size="8" maxlength="25"/></span><br><br>
</p><div align="center">
    <input type="submit" class="button" name="login" value="Войти"/>
  </div>
</form></td>
</tr><br><br>

<tr minmax_bound="true">
<th class="tcl" scope="col" minmax_bound="true"><div id='hptimer'>
  <p><small>Это окно закроется Секунд</small></p>
  </div></th></tr>
<tr minmax_bound="true">
<td bgcolor="#FFFFFF" class="tcl" minmax_bound="true">
<p align="center" minmax_bound="true"></th></tr></td></tr></p></table>

</div>
</div>

В строчке var autohidebox = ['yes', 17]; заменяйте значение 17 на число секунда, через которое окно само закроется.
Все значения rnb.4bb.ru заменяете на свои...
И текст div-окна тоже меняете на свой

0

45

Работает как и всплывающий поиск построен на DIV элементе.

Код:
    <script language="JavaScript">
    function showLDiv()
    {
    if(  document.getElementById("loginDiv").style.display == 'none' )
         document.getElementById("loginDiv").style.display = ''
    else document.getElementById("loginDiv").style.display = 'none'

    return false;
    }
    function check_form()
    {
    if(document.forms["form_login"].req_username.value=='' || document.forms["form_login"].req_username.value=='') {
    alert('Оба поля обязательны для заполнения');
    return false;
    }
    return true
    }
    url=document.URL
    if(url.indexOf("login.php")==-1  && document.getElementById('navlogin')){
    document.getElementById('navlogin').innerHTML  = "<a href=\"login.php\" onclick=\"return showLDiv()\"><span>Войти</span></a>"
    login = "<center><div id=loginDiv style=\"display: none; \">"

    login += "<form id=form_login name=login method=post action=\"login.php?action=in\" onsubmit=\"return check_form()\">"
    login += "<fieldset>"
    login += "<legend>Введите ваше имя и пароль ниже</legend>"
    login += "<input type=hidden name=form_sent value=1 />"
    login = login + "<input type=hidden name=redirect_url value="+document.URL+" />"
    login += "<br><table width=\"100%\" align=left>"
    login += "<tr><td align=left><b>Имя :</b></td><td align=left><input type=\"text\" id=\"fld1\" name=\"req_username\" size=\"30\" maxlength=\"25\" /></td></tr>"
    login += "<tr><td align=left><b>Пароль :</b></td><td align=left><input type=\"password\" id=\"fld2\" name=\"req_password\" size=\"30\" maxlength=\"16\" /></td></tr>"
    login += "</table>"
    login += "</fieldset>"
    login += "<p class=formsubmit><input type=submit class=button name=login value=\"Войти\" /><br /> <a href=\"register.php\">Еще не зарегистрированы?</a><br /> <a href=\"login.php?action=forget\">Забыли пароль?</a></p>"
    login += "</form>"
    login += "</div></center>"

    document.getElementById('pun-navlinks').innerHTML += login
    }
    </script>

    <style>
    #loginDiv{
        position:absolute;
        z-index: 2;
        background-color : Gray;
        border : solid;
        padding-bottom : 5px;
        padding-left : 5px;
        padding-right : 5px;
        padding-top : 5px;
        width: 300px;
    }
    </style>

Вставляем в html-низ

Работоспособность смотрим на http://karpoff.5bb.ru

0

46

Бегушая строка и её состовляющие (причём можно ставить везде где поддерживается ХТМЛ, а именно начиная с ХТМЛ низ/верх, описания раздела, объявления и правил, и быстрого твета):
Для того чтобы отобразить некий текст, баннеры и другие элементы в форме бегущей строки, помещаем свой текст (или HTML эдлементов) в теги
<marquee>...</marquee>
Для этого тега можно опционально задать следующие атрибуты, или свойства бегущей строки:

Aling   - выравнивание текста
Возможные значения:
LEFT - по левому краю
RIGHT - по правому
MIDDLE - по центру
BOTTOM - по нижнему

Behavior  - поведение текста (Способ движения)
Возможные значения
SCROLL - движется в одном направлении, постепенно исчезая из поля зрения
SLIDE - доезжает до края и останавливается
ALTERNATE - ездит от края к краю

Scrolldelay - задержка смещения (интервал в миллисекундах между показами текста на разных позициях, создающими эффект анимации)
Возможные значения: любое числовое

Loop  - число проигрываний
Возможные значения
число
INFINITE - бесконечное проигрывание

Widht  - ширина поля

Height  - высота поля

Direction  - направление движения
Возможные значения
LEFT
RIGHT
UP

Bgcolor - фон поля бегущей строки

Vspace - отступ сверху и снизу поля

Hspace - отступ слева и справа

Пример горизонтальной бегущей строки

<marquee behavior="scroll" direction="left" bgcolor="#FF0000" width="200" height="25" scrolldelay="10" loop="infinite">Ваш текст </marquee>

Пример вертикальной бегущей строки:

<marquee behavior="scroll" direction="up" bgcolor="#FFFF00" width="400" height="400" scrolldelay="100" loop="20">Ваш текст</marquee>

Чтобы строка останавливала движение при наведении мыши в тег надо добавить
onMouseOver="this.stop()"
onMouseOut="this.start()"

Например

<marquee onMouseOver="this.stop()"  onMouseOut="this.start()"> Ваш текст </marquee>

0

47

Скрипт выводящий случайное изображение при обновлении страницы:

<script language="JavaScript">
<!--
var a=Math.round(Math.random()*2)
image = new Array();
image[0]="http://lion.mybb.ru/uploads/lion/2_post-9545-1133718277.gif"
image[1]="http://lion.mybb.ru/uploads/lion/2_53.gif"
image[2]="http://lion.mybb.ru/uploads/lion/2_2.jpg"
document.write ("<img src="+image[a]+">");
//-->
</script>

Адреса рисунков, меняете на свои...

0

48

Cообщение для гостей:

<script>
x =new String(document.getElementById("pun-navlinks").getElementsByTagName("li").innerHTML);
if (x.indexOf("Профиль") == -1) document.write("Сообщение гостям");
</script>

0

49

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

<script type="text/javascript">
var rows=document.getElementsByTagName("tr")
var no=0
for (no=0; no<=(rows.length-1); no++)
{if (rows[no].className.indexOf("isticky")!=-1)
{rows[no].getElementsByTagName("a")[0].innerHTML="<font color='red'><b>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</b></font>"}
else if (rows[no].className.indexOf("inew")!=-1)
{rows[no].getElementsByTagName("a")[0].innerHTML="<font color='green'>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</font>"}
else if (rows[no].className.indexOf("iclosed")!=-1)
{rows[no].getElementsByTagName("a")[0].innerHTML="<font color='yellow'>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</font>"}
}
</script>

Рассмотрим блок
{if (rows[no].className.indexOf("isticky")!=-1)
{rows[no].getElementsByTagName("a")[0].innerHTML="<font color='red'><b>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</b></font>"}

Этот блок кода оформляет текст Важных тем. isticky указывает именно на важные темы.
Видим rows[no].getElementsByTagName("a")[0].innerHTML. Этот кусок означает текст ссылки темы. Вокруг него мы решили поставить следующее оформление:
-сделать текст красным
-сделать жирным
Как знаем из хтмл, это достигается следующим образом:

<font color='red'><b>Наш текст</b></font>

Если хотите, можно использовать вокруг текста сылки любые друие хтмл теги.
Чтобы перенести эти теги в скрипт мы делаем следующее
-Заковычиваем передние теги в " "
-ставим плюс
-ставим текст ссылки (rows[no].getElementsByTagName("a")[0].innerHTML)
-ставим плюс
-ставим конечные теги в ковычках.

В данном случае у нас получилось

="<font color='red'><b>"+rows[no].getElementsByTagName("a")[0].innerHTML+"
</b></font>"

Следующие два блока кода отвечают соответсвенно за:

-новые темы (inew)
-закрытые темы (iclosed)

Если какой-то вид тем вы отдельно оформлять не собираетесь - соответствующий кусок скрипта можно выкинуть.

0