В каталоге запрещено создавать новые темы, т.к. скриптов очень много, а мы стараемся делать хорошую навигацию по разделу и добавлять их упорядоченно. Скрипты, которых еще нет в этом разделе можно выкладывать в этой теме. И модератор добавит их на форум.
Добавление скриптов и css трюков для MYBB
Сообщений 31 страница 40 из 148
Поделиться3130.03.12 14:07
Блоки с выскальзывающим описанием (CSS3)
автор: mintemero
Туда где хотите видеть блоки:
<div class="fmenu">
<a href="ссылка">
<h5>название</h5>
<div>описание</div>
</a>
<a href="ссылка">
<h5>название</h5>
<div>описание</div>
</a><a href="ссылка">
<h5>название</h5>
<div>описание</div>
</a>
</div>
красное- единичный блок. Его копируем столько раз, сколько хотим блоков.
В html-верх:
<style>
.fmenu a { /* Стиль блоков */
overflow: hidden; /* Скрываем прокрутку */
text-decoration: none !important;
display: block;
width: 250px; /* Ширина блока */
height: 60px; /* Высота блока */
margin: 0 20px 20px 0; /* отступы */
background: rgba(219, 226, 232, 0.5); /* фон блока */
border: 1px solid #ccc; /* границы блока */}.fmenu h5 { /* Стиль заголовков */
margin: 0;
color: #222; /* цвет заголовка */
text-align: center;
height: 60px; /* высота блока */
font: italic 18px/60px Georgia, Serif; /* Вертикальное центрирование текста за счет равных высот строки и элемента */
opacity: 1;
-webkit-transition: all 0.2s linear; /* плавность перехода */
-moz-transition: all 0.2s linear;
-o-transition: all 0.2s linear;}
.fmenu a:hover h5 {
margin-top: -60px; /* Выскальзывание описания (равно значению высоты блока) */
opacity: 0; /* прозрачность */
}.fmenu div { /* Стиль описания */
background: #000 17px 17px no-repeat; /* цвет фона */
height: 60px; /* высота блока */
position: relative;
color: white; /* цвет текста */
font: 12px/15px Georgia, Serif; /* шрифт */
padding: 5px;
opacity: 0; /* прозрачность */
-webkit-transition: all 0.2s linear; /* плавность перехода */
-moz-transition: all 0.2s linear;
-o-transition: all 0.2s linear;}.fmenu a:hover div {
opacity: 1}
</style>
серым- подсказки, что к чему.
Поделиться3230.03.12 18:59
мнэум?
Поделиться3330.03.12 19:12
mintemero
Шикарная вещь.
Только это не скрипт. И в каталог css-ок это тоже не кинешь.
Будет опубликовано в фишках.)
Поделиться3430.03.12 19:14
faiko
Я знаю, что не скрипт, но темы "добавление css-кодов" у вас нет ._.
Фишки, так фишки.
Отредактировано mintemero (30.03.12 19:14)
Поделиться3530.03.12 19:20
но темы "добавление css-кодов" у вас нет ._.
ЗЫ: это "тонкий" намек, что стоило бы создать:) И для фишек заодно.
Поделиться3606.05.12 08:51
Думаю, что самый востребованный на всяких дизайн и техподдержках =>
Копирование в буфер обмена содержимого блоков Код...
Отредактировано Deff (06.05.12 08:51)
Поделиться3726.10.12 08:05
добавить!
Комментарии при редактировании сообщения. rps
<script type="text/javascript"> var mr = document.getElementById("main-reply"); var inp; var i = 0; var edit; var f; var reg = new RegExp("\\[edit\\](.[^\\[]+)\\[/edit\\]"); function make_field() { var field = document.createElement("input"); field.id = "field_edit"; field.type = "text"; field.size = "80"; field.style.marginTop = "15px"; mr.parentNode.appendChild(field); } function make_text() { var mrv_new; var fv; var mrv; fv = f.value; mrv = mr.value; if (mrv.indexOf("[edit]") == -1) { if (fv != "") mr.value += "\n[edit]" + fv + "[/edit]"; else {} } else { if (fv != "") mrv_new = mrv.replace(reg, "[edit]" + fv + "[/edit]"); else mrv_new = mrv.replace(reg, ""); mr.value = mrv_new; } } function check(x) { if (x.checked == false) f.disabled = false; if (x.checked == true) { f.disabled = true; f.value = ""; mr.value = mr.value.replace(reg, ""); f.setAttribute("placeholder", "Укажите причину редактирования"); } } function make_description() { var post; var j = 0; var p; var z = 0; post = document.getElementById("pun-main").getElementsByTagName("div"); for (j in post) { if (post[j].className == "post-content") { p = post[j].getElementsByTagName("p"); for (z in p) { if ((p[z].className == "lastedit") && (reg.test(post[j].innerHTML))) { edit = post[j].innerHTML.match(reg)[0]; edit = edit.substr(edit.indexOf("[edit]") + 6, edit.indexOf("[/edit]") - 6); p[z].innerHTML += "<span class='edit_text'>, причина: " + edit + ".</span>"; post[j].innerHTML = post[j].innerHTML.replace(reg, ""); } else {} } } } } if (document.URL.indexOf("edit.php") != -1) { make_field(); f = document.getElementById("field_edit"); if (reg.test(mr.value)) { edit = mr.value.match(reg)[0]; edit = edit.substr(edit.indexOf("[edit]") + 6, edit.indexOf("[/edit]") - 6); f.value = edit; } else f.setAttribute("placeholder", "Укажите причину редактирования"); inp = document.getElementById("pun-main").getElementsByTagName("input"); for (i in inp) { if (inp[i].value == "Отправить") inp[i].setAttribute("onclick", "make_text();"); else if (inp[i].type == "checkbox") { inp[i].checked = false; inp[i].setAttribute("onclick", "check(this);"); } } } if (document.URL.indexOf("viewtopic.php") != -1) make_description(); </script>
Ставить в ХТМЛ-низ.
На странице сообщений это выглядит так:
Если выбрать пункт "Не отображать сообщение о редактировании", поле окажется неактивным:
Отредактировано Герда (22.11.12 12:13)
Поделиться3821.11.12 12:06
Допуск в Тему или форум определенной группы лиц строго по Списку
автор - Deff
В начало НTML низ
<script type="text/javascript">
Offcategor("Название темы или форума", new Array("Ник1", "Ник2", "Ник3", "Ник4", "Ник5", "Ник6"))
Offcategor("Название темы или форума", new Array("Ник1", "Ник2", "Ник3", "Ник4", "Ник5", "Ник6"))
Offcategor("Название темы или форума", new Array("Ник1", "Ник2", "Ник3", "Ник4", "Ник5", "Ник6"))function Offcategor(categor,myarray){
var a = 1
if(GroupTitle =="Гость"||GroupTitle =='Гости'){UserLogin = " ";}
st = document.getElementById("pun-crumbs1").innerHTML;if (st.indexOf(categor)!= -1){
var a = 0
for(q=0;q<myarray.length;q++){
if (myarray[q]== UserLogin){
a = 1}}
if (a != 1){document.getElementById("pun-main").innerHTML = "<div id=\"pun-main\" class=\"main\" style=\"margin-top: -25px!important;\"><h1><span>Информация</span></h1><div class=\"info\"><div class=\"container\"><b><span style='font-size:14px;'>Вы не имеете прав доступа к этой странице.</span><b></div></div></div>"}
}
}
</script>
Строку
Offcategor("Название темы или форума", new Array("Ник1", "Ник2", "Ник3", "Ник4", "Ник5", "Ник6"))
Размножаем для стольких тем и форумов - сколько нужно; кол-во ников можно увеличивать, последний ник в списке без запятой;
Если нужна только одна или две строки, оставляем одну или две - лишнее убираем
*Близкий аналог пароля на раздел от Дуки (http://ForumD.ru/viewtopic.php?id=1288)
Некие расширения:
Вы можете быть допущены в форум, но не допущены в определенную тему, если есть строка с этой темой, а Вашего ника там есть
[edit]опубликовано[/edit]
Отредактировано Герда (22.11.12 12:13)
Поделиться3921.11.12 12:15
Цветовыделение Ников с изменением цвета при наведении
автор - Deff
<script type="text/javascript"><!-- Цветовыделение Ников с изменением цвета при наведении отличным от стандартного -->
inColor("#31A02E","#FF0000", new Array("Odin", "Казуки", "Киру Лассу", "Китсуне-сама"))
inColor("#7A6F6F","#FF0000", new Array("Тачи Тадао", "Мари", "Дитрих Кернц"))function inColor(color,color2, myarray){
var a=document.links
for(i=0;i<a.length;i++){
for(q=0;q<myarray.length;q++){
if(a[i].innerHTML==myarray[q]){
a[i].innerHTML="<span style=\"color: "+color+";\" onmouseover=\"this.style.color='"+color2+"';\" onMouseOut=\"this.style.color='"+color+"';\"><u>"+myarray[q]+"</u></span>"
}}}}
</script>
<style>
.punbb a span u{text-decoration: none;}
.punbb a span u:hover{text-decoration:underline;}
</style><!-- End // Цветовыделение Ников -->
Зеленым цвет ника в статике, красным - при наведении, синие сами ники с данным цветом
Cтроку синим жирным размножаем для нужных цветов и ников
Поделиться4021.11.12 12:19
Перенос Формы ответа под нужный пост
автор - Kven
Многим, наверное, надоедало постоянно крутить страницу то вверх, то вниз, чтобы процитировать фразы из высоко находящегося поста и дать достойный ответ. Бывало наверное)
Данный скрипт добавит справа от кноки цитирования кнопочку "Ответить!", при нажатии на которую каждый (за исключением гостя) увидит под желаемым постом полную форму ответа.
Она исчезнет из первоначального своего положения. Но мы сможем вернуть её назад, нажав жирненькую кнопочку "Ответить" под последним постом. (над "Подписаться и отслеживать тему").
Возможности кнопок теряться не должны, это зависит лишь от скриптов, которые использовались для создания новых кнопок.
ВВЕРХ
<script type="text/javascript"> function nowanswer() { texts = document.getElementById('main-reply').innerText answ = document.getElementById('post-form').innerHTML var cansl = document.getElementById("post-form") cansl.parentNode.removeChild(cansl) obje.parentNode.parentNode.parentNode.parentNode.parentNode.innerHTML += '<div id="post-form" class="formal">' +answ+ '</div>' document.getElementById('main-reply').innerText = texts } function nowback() { answ = document.getElementById('post-form').innerHTML texts = document.getElementById('main-reply').innerText var cansl = document.getElementById("post-form") cansl.parentNode.removeChild(cansl) al.innerHTML += '<div id="post-form" class="formal">' +answ+ '</div>' document.getElementById('main-reply').innerText = texts } </script>
ВНИЗ
<script type="text/javascript"> if (GroupID !== 3) { l = document.getElementsByClassName('post-links') f=-1 while (l[++f]) { l[f].firstElementChild.innerHTML += '<li><a onclick="obje=this; nowanswer(); return false" href="#post-form" >Ответить!</a></li>' } f=-1 rii = document.getElementsByClassName('postlink') al = document.getElementById('pun-main') while (rii[++f]) { rii[f].innerHTML = '<a onclick="nowback()" href="#post-form"><span>Ответить</span></a>' } } </script>
[edit]undefined[/edit]
Отредактировано Герда (22.11.12 12:15)