Форум Технической Поддержки

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

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


Вы здесь » Форум Технической Поддержки » Скрипты » Скрипты и интересные решения


Скрипты и интересные решения

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

1

Изменение ссылок на кнопки на примере Новый Опрос и Новая тема

Код:
<script type="text/javascript">
function changeLink()
{var arr=document.links
for (j in arr)
{
if (arr[j].innerHTML=="Начать новую тему")
{arr[j].innerHTML="<img id='fifik1'"+" src='адрес картинки' />"}
else if (arr[j].innerHTML=="Начать опрос")
{arr[j].innerHTML="<img id='fifik2'"+" src='адрес картинки' />"}}}
changeLink()
</script>

0

2

Падающие предметы (например снежинки)

Код:
Падающие предметы

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Begin
var no = 25; // количество снежинок
var speed = 10; // скорость падения снежинок
var snowflake = "адрес_снежинки";

var ns4up = (document.layers) ? 1 : 0; // browser sniffer
var ie4up = (document.all) ? 1 : 0;
var dx, xp, yp; // coordinate and position variables
var am, stx, sty; // amplitude and step variables
var i, doc_width = 800, doc_height = 600;
if (ns4up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
} else if (ie4up) {
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
for (i = 0; i < no; ++ i) { 
dx[i] = 0; // set coordinate variables
xp[i] = Math.random()*(doc_width-50); // set position variables
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20; // set amplitude variables
stx[i] = 0.02 + Math.random()/10; // set step variables
sty[i] = 0.7 + Math.random(); // set step variables
if (ns4up) { // set layers
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></layer>");
} else {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></layer>");
}
} else if (ie4up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></div>");
} else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></div>");
}
}
}
function snowNS() { // Netscape main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
dx[i] += stx[i];
document.layers["dot"+i].top = yp[i];
document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowNS()", speed);
}
function snowIE() { // IE main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx[i] += stx[i];
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowIE()", speed);
}
if (ns4up) {
snowNS();
} else if (ie4up) {
snowIE();
}
// End -->
</script>
Вместо Адрес_снежинки - вписать адрес той картинки, которая будет играть роль снежинок

0

3

Скрипт, запрещающий писать личные сообщения администратору простым пользователям

Код:
<script type="text/javascript">
var a=document.URL
if (a.indexOf("sendmessage")!=-1 && !document.getElementById("navadmin"))
{document.getElementsByName("submit") [0] .onclick=getIt}

function getIt()
{var b=document.getElementsByName("req_username") [0] .value
if (b=="Zebra") //вместо Зебры имя администратора
{
alert ("Вы не можете написать сообщение администратору")
return false}}

</script>

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

0

4

Форма входа на форум (логин и пароль) в окне статуса

Код:
<script type="text/javascript">
var a =document.getElementById('pun-status').innerHTML
if (a.indexOf("Гость")!=-1)
{document.getElementById('pun-status').innerHTML="<div class='formal'>"+"<form id='login'"+" class='container'"+" method='post'"+" action='http://testingmyforum1.4bb.ru/login.php?action=in'"+" onsubmit='return my_form(this)'>"+"<fieldset><legend><span>Введите ваше имя и пароль ниже</span></legend><div class='fs-box inline'>"+"<input type='hidden'"+" name='form_sent'"+" value='1' />"+"<input type='hidden'"+" name='redirect_url'"+" value='index.php' />"+"<p class='inputfield required'>"+"<label for='fld1'>Имя <em>(Обязательно)</em></label><br />"+"<span class='input'>"+"<input type='text'"+" id='fld1'"+" name='req_username'"+" size='25'"+" maxlength='25' /></span></p>"+"<p class='inputfield required'>"+"<label for='fld2'>Пароль <em>(Обязательно)</em></label><br />"+"<span class='input'>"+"<input type='password'"+" id='fld2'"+" name='req_password'"+" size='16'"+" maxlength='16' /></span></p></div></fieldset>"+"<p class='formsubmit'>"+"<input type='submit'"+" class='button'"+" name='login'"+" value='Войти' /></p></form></div>"}
function my_form(the_form)
{
var element_names = new Object()
    element_names["req_username"] = "Имя"
    element_names["req_password"] = "Пароль"

if (document.all || document.getElementById)
{
    for (i = 0; i < the_form.length; ++i)
    {
    var elem = the_form.elements[i]
    if (elem.name && elem.name.substring(0, 4) == "req_")
    {
        if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
        {
        alert("\"" + element_names[elem.name] + "\" это поле обязательно для заполнения в этой форме.")
        elem.focus()
        return false
        }
    }
    }
}

return true
}
</script>

0

5

Запрет на установку аватара и подписи отдельным пользователям

Код:
<script type="text/javascript">
var a =document.URL
var b=document.getElementById('pun-status').innerHTML
if (b.indexOf("Zebra")!=-1)
{
if ((a.indexOf("signature")!=-1)||(a.indexOf("section=avatar")!=-1))
{document.getElementsByName('update')[0].onclick=noChange}
else if (a.indexOf("upload-avatar")!=-1)
{document.getElementsByName('urload')[0].onclick=noChange}}
function noChange()
{alert ("Пошел нафиг")
return false}
</script>

Вместо Zebra - ник юзера, которому запретили менять.

0

6

Скрипт универсального цветовыделения групп

<script type="text/javascript">
var arr=document.links
var arr1=new Array ("Admin", "Татьяна")
var arr2=new Array ("Ruslan", "WebMaster")
for (x in arr)
{for (y in arr1)
{for (j in arr2)
{if (arr[x].innerHTML==arr1[y])
{var b=arr[x].innerHTML
arr[x].innerHTML="<font color='red'>"+b+"</font>"}
else if (arr[x].innerHTML==arr2[j])
{var c=arr[x].innerHTML
arr[x].innerHTML="<font color='#0000FF'>"+c+"</font>"}}}}
</script>

В красную строчку в скобочки, через запятую, в кавычках, пишем имена админов
В синию - модеров.
Меняет цвета админов на красный, модеров на синий - на всем форуме.

0

7

Продолжение скрипта для цветовыделения ников по группам

Данный скрипт ставиться не вместо, а помимо предыдущей части. Предыдущая меняла только те ники, которые ввиде ссылок. Эта часть изменит тестовые ники на всём форуме.

Код:
<script type="text/javascript">
var arr=document.getElementsByTagName("td")
var arr1=new Array ("Admin", "Татьяна")
var arr2=new Array ("Ruslan", "WebMaster")
var x=0
var j=0
for (x in arr)
{while (x<=(arr.length -1))
{for (j in arr1)
{while (j<=(arr1.length-1))
{if (arr[x].innerHTML.indexOf(arr1[j])!= -1)
{arr[x].innerHTML=arr[x].innerHTML.substring (0, arr[x].innerHTML.indexOf(arr1[j]))+"<font color='red'>"+arr1[j]+"</font>"+arr[x].innerHTML.substr (arr[x].innerHTML.indexOf(arr1[j])+arr1[j].length)}
j=j+1}}
x=x+1}}
for (x in arr)
{while (x<=(arr.length -1))
{for (i in arr2)
{while (i<=(arr2.length -1))
{if (arr[x].innerHTML.indexOf(arr2[i])!= -1)
{arr[x].innerHTML=arr[x].innerHTML.substring (0, arr[x].innerHTML.indexOf(arr2[i]))+"<font color='red'>"+arr2[i]+"</font>"+arr[x].innerHTML.substr (arr[x].innerHTML.indexOf(arr2[i])+arr2[i].length)}
i=i+1}}
x=x+1}}
</script>

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

0

8

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

Код:
<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

9

Функция Описание темы (аналог IPBшной)

Код:
    <script type="text/javascript">
    var theme=document.getElementById('pun-main').getElementsByTagName("h1")[0].innerHTML
    if (theme.indexOf("&gt;&gt;")!=-1)
    {if (theme.indexOf("Редактирование")!=-1)
    {document.getElementById('pun-main').getElementsByTagName("h1")[0].innerHTML=theme.substring(0, theme.indexOf("&gt;&gt;"))+" - Редактирование сообщения</span>"}
    else
    {document.getElementById('pun-main').getElementsByTagName("h1")[0].innerHTML=theme.substring(0, theme.indexOf("&gt;&gt;"))+"</span>"}}
    </script>

    <script type="text/javascript">
    var descs=document.getElementsByTagName("td")
    var z=0
    for (z=0; z<=(descs.length-1); z++)
    {if (descs[z].innerHTML.indexOf("&gt;&gt;")!=-1)
    {if (descs[z].className=="tcl")
    {descs[z].innerHTML=descs[z].innerHTML.substring(0, descs[z].innerHTML.indexOf("&gt;&gt;"))+"</a><br />"+"<font size='1'>"+descs[z].innerHTML.substring((descs[z].innerHTML.indexOf("&gt;&gt;")+8), (descs[z].innerHTML.toLowerCase().indexOf("</a>")))+"</font>"+descs[z].innerHTML.substr((descs[z].innerHTML.toLowerCase().indexOf("</a>")+4))
    }
    else
    {descs[z].getElementsByTagName("a")[0].innerHTML=descs[z].getElementsByTagName("a")[0].innerHTML.substring(0, descs[z].getElementsByTagName("a")[0].innerHTML.indexOf("&gt;"))
    }}}
    </script>

    <script type="text/javascript">
    if (document.getElementById('pun-main').getElementsByTagName("h1")[0].innerHTML.indexOf("Начать новую")!=-1)
    {document.getElementsByTagName("form")[0].innerHTML=document.getElementsByTagName("form")[0].innerHTML.substring(0, (document.getElementsByTagName("form")[0].innerHTML.indexOf("areafield")-10))+"<p><label for='descr'>Описание</label><br />"+"<span class='input'>"+"<input id='descr'"+" type='text'"+" size='80'"+" maxlength='35' /></span></p>"+document.getElementsByTagName("form")[0].innerHTML.substr( (document.getElementsByTagName("form")[0].innerHTML.indexOf("areafield")-10))
    if (document.getElementById('fld3').value.indexOf(">>")!=-1)
    {
    document.getElementById('descr').value=document.getElementById('fld3').value.substr(document.getElementById('fld3').value.indexOf(">>")+2)
    document.getElementById('fld3').value=document.getElementById('fld3').value.substring(0, document.getElementById('fld3').value.indexOf(">>"))
    }

    document.getElementsByName("submit")[0].onclick=addDesc
    document.getElementsByName("preview")[0].onclick=addDesc}
    function addDesc()
    {document.getElementById('fld3').value=document.getElementById('fld3').value+">>"+document.getElementById('descr').value
    return true}
    </script>
Zebra написал(а):

Вроде почистила все. Чтобы не было лишних вопросов стоит все на автомате. То есть появится отдельное поле для набора описания. Единственное, чего не сделала - не возможности автоматического редактирования опсиания при редактировании первого сообщения. Ибо оказалось, что для этого пришлось бы прописывать еще один огромный кусок кода,что мне было откровенно лень. Но в ручную отредактировать его сможете. Описание в таком случае стоит в нгазвании темы после значка >> .
Если совсем ленивые - пользуйтесь предварительным просмотром при создании темыв - на этом уровне все также атматизировано.

Там где в скрипте жирная единица - можете менять размер шрифта описания.

0

10

Кнопки "в кириллицу" и "в латиницу"

Zebra написал(а):

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

Код:
<script type="text/javascript">
var latin=("q-w-e-r-t-y-u-i-o-p-]-a-s-d-f-g-h-j-k-l-;-'-z-x-c-v-b-n-m-,-Q-W-E-R-T-Y-U-I-O-P-]-A-S-D-F-G-H-J-K-L-;-'-Z-X-C-V-B-N-M-,").split("-")
var ciril=("й-ц-у-к-е-н-г-ш-щ-з-ъ-ф-ы-в-а-п-р-о-л-д-ж-э-я-ч-с-м-и-т-ь-б-Й-Ц-У-К-Е-Н-Г-Ш-Щ-З-Ъ-Ф-Ы-В-А-П-Р-О-Л-Д-Ж-Э-Я-Ч-С-М-И-Т-Ь-Б").split("-")
function advert()
{
var val=document.selection.createRange()
var val1=val.text
var qw=0
for(qw=0; qw<=(latin.length-1); qw++)
{var latin1="/"+latin[qw]+"/g"
val1=val1.replace(eval(latin1), ciril[qw])}
val.text=val1}
function advert1()
{
var val=document.selection.createRange()
var val1=val.text
var qw=0
for(qw=0; qw<=(latin.length-1); qw++)
{var ciril1="/"+ciril[qw]+"/g"
val1=val1.replace(eval(ciril1), latin[qw])}
val.text=val1}
</script>
<input type="button" value="В кириллицу" onclick="advert()" />
<input type="button" value="В латиницу" onclick="advert1()" />

Буква ю и латинская точка изъяты из скрипта неслучайно.

0


Вы здесь » Форум Технической Поддержки » Скрипты » Скрипты и интересные решения