ForumD.ru - Дизайн, графика, скрипты, техническая поддержка для форумов и сайтов

Объявление

GEMcross

Кроссовер, ориентированный на активную игру и уютный флуд.
Собираем у себя драгоценных игроков уже почти три года.

Посетить

💰 Теперь у нас можно приобрести "Мгновенные уведомления от Алекса"

Скрипт оповещает пользователей о событиях на форуме в реальном времени, придавая динамики общению.
Автор: Alex_63 | Платформа: MyBB.ru.

У нас: структурированная документация, возможность платить иностранными картами, перевыпустить подписку или купить бессрочно.

Купить скрипт

🔥 Новинка в портфолио: ДИЗАЙН ФОРУМА В СТИЛЕ ФЭНТЭЗИ С ПРОЗРАЧНОСТЬЮ

Платформа: MyBB.ru (RusFF)
Стоимость: 8000 рублей;
Авторы: Moju & Gerda

Посмотреть

🌟 ОПЛАТА ЗАКАЗА НАГРАДНЫМИ БАЛЛАМИ И СКИДКИ

Заказы можно оплачивать наградными баллами (НБ). Полностью или частично.
Бартер за НБ осуществляется на условиях платного заказа, в качестве оплаты - НБ.
А если у вас есть любой платный заказ, вы можете обменять НБ на скидочные купоны.

узнать подробности

📣 Наш проект: Ролевой поисковик

Поиск роли на текстовых ролевых
Проект от специалистов FD

Спойлеры и обсуждение

❤️ Поддержать проект

Если у вас есть желание помочь нам сделать наш проект лучше:
Реклама на сайтеПредложения
Стать модераторомОтзывы

Подробнее

SPECIAL OFFER: We distribute designs for free

Finalizing the layout for your project;
Developing a style code;
Mobile version included if you wish.

Details

Support the project

If you want to help us:
Become a moderator
SuggestionsReviews

Details
❗ ❗ ❗ Technical work is underway. We'll fix it soon. :) If you're english-speaker and want to use our forum, switch to the russian language. This is temporary, until the works with multi-language option will be done. Sorry for the inconvenience.

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

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


Вы здесь » ForumD.ru - Дизайн, графика, скрипты, техническая поддержка для форумов и сайтов » Архив устаревших тем » Спойлеры (сокрытие информации под кнопку/ссылку)


Спойлеры (сокрытие информации под кнопку/ссылку)

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

1

Стандартный спойлер кнопкой. (bb-код)

<script>
function addSpoiler(str,from,internal){
var pos=0,pos2=0,newpos=0
if((pos=str.indexOf("[*spoiler]",from))==-1) return str;
if((pos2=str.indexOf("[*/spoiler]"),pos+9)==-1) return str;
newpos=str.indexOf("[*spoiler]",pos+9)
if(newpos<pos2 && newpos!=-1) str=addSpoiler(str,pos+9,true)
if((pos2=str.indexOf("[*/spoiler]",pos+9))==-1) return str;
str=str.substring(0,pos)+makeSpoiler(str.substring(pos+9,pos2))+str.substring(pos2+10,str.length)
if( str.indexOf("[*spoiler]")!=-1 && internal==false) str=addSpoiler(str,0,false)
return str}

function makeSpoiler(txt){
txt="<div class=quote-box style='padding:1px'><cite style='width:100%'>Ваш код<input style='width:60px;margin-left:70%;font-size:10px;' type='button' value='Показать' onclick='hideSpoiler(this)'></cite><blockquote style='display:none'>"+txt+"</blockquote></div>"
return txt}

function hideSpoiler(sp){
spoiler=sp.parentNode.parentNode.getElementsByTagName("blockquote")[0]
if(spoiler.style.display=='none'){
spoiler.style.display='inline'
sp.value='Скрыть'}
else{
spoiler.style.display='none'
sp.value='Получить код'}}

if(document.URL.indexOf("viewtopic.php")!=-1){
elm=document.getElementById("pun-main").getElementsByTagName("div")
for(x in elm) if(elm[x].className=="post-content"){
var post=elm[x]
post.innerHTML=addSpoiler(post.innerHTML,0,false)}}
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(14).innerHTML="<img onclick=\"bbcode('[*spoiler]', '[*/spoiler]')\" src='http://s42.radikal.ru/i097/0904/57/878b008cc49f.jpg' alt='' />"
</script>
<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>

синее - текст (можно поменять на свое)

красное - ссылка на кнопку (можно тоже поменять)

ЗЕЛЕНЫЕ ЗВЕЗДОЧКИ УБРАТЬ!

0

2

Новый разворачивающийся спойлер с кнопкой. (bb-код)

1) html-верх:

Код:
<script type="text/javascript" src="http://help4us.ru/include/js/jquery.js"></script>

2) html-низ или форма ответа(если гости не могут просматривать форумы)
<style type="text/css">
#button-spoiler {background-image:url('https://forumupload.ru/uploads/0000/12/13/488-1.gif'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat}
</style>

<script>
function addSpoiler(str,from,internal){
var pos=0,pos2=0,newpos=0
if((pos=str.indexOf("[spoiler*]",from))==-1) return str;
if((pos2=str.indexOf("[/spoiler*]"),pos+9)==-1) return str;
newpos=str.indexOf("[spoiler*]",pos+9)
if(newpos<pos2 && newpos!=-1) str=addSpoiler(str,pos+9,true)
if((pos2=str.indexOf("[/spoiler*]",pos+9))==-1) return str;
str=str.substring(0,pos)+makeSpoiler(str.substring(pos+9,pos2))+str.substring(pos2+10,str.length)
if( str.indexOf("[spoiler]")!=-1 && internal==false) str=addSpoiler(str,0,false)
return str}
function makeSpoiler(txt){
txt='<div class="quote-box" style="padding:1px;background: none;"><cite style="width:100%;margin:0;"><input class="spoiler-button" style="width:140px;font-size:10px; margin:0;" type="button" value="Показать cпойлер" onclick="hideSpoiler(this)"></cite><blockquote class="quote-box" style="display:none; width: 80%;border: 1px solid black;margin:0;">'+txt+'</blockquote></div>'
return txt}
$(document).ready(function(){
$("div.quote-box > cite > input.spoiler-button").click(function(){
spoiler = $(this).parents("div.quote-box").find("blockquote.quote-box").toggle("normal");
});
});
function hideSpoiler(sp){
if(sp.value=='Показать cпойлер'){
sp.value='Скрыть cпойлер'}
else{
sp.value='Показать cпойлер'}
}
if(document.URL.indexOf("viewtopic.php")!=-1){
elm=document.getElementById("pun-main").getElementsByTagName("div")
for(x in elm) if(elm[x].className=="post-content"){
var post=elm[x]
post.innerHTML=addSpoiler(post.innerHTML,0,false)}}
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(19).innerHTML="<img  id=\"button-spoiler\" title=\"Спойлер\" onclick=\"bbcode('[spoiler*]','[/spoiler*]')\" src=\"/i/blank.gif\" />"
</script>

выглядит так:
http://i052.radikal.ru/0911/e2/6819e50f266bt.jpg
http://i.smiles2k.net/aiwan_smiles/smile3.gif мастер сего произведения - mkusher

П.С. крупные красные звездочки перед установкой из скрипта убрать: [spoiler*]

0

3

Новый разворачивающийся спойлер с ссылкой. (bb-код)
стоит на ForumDesign

Тот же скрипт, только слегка доработанный.
Автор доработок: Meldo (Frodo)
Посмотреть как выглядит можно здесь http://forumdlyatestov.mybb.ru/viewtopi … d=49#p1499

это по-прежнему ставим в хтмл-верх:

Код:
<script type="text/javascript" src="http://sadhaka.moy.su/JS/jquery.js"></script>

это в хтмл-низ:

<script type="text/javascript">
    function tag_spoiler(){
        var y = prompt("Введите описание закрытой кнопки", '');
        if (y != 'null' && y != '' && typeof(y) != 'object' && typeof(y) != 'undefined') {
        var x = prompt("Введите описание открытой кнопки", '');
        if (x == 'null' || x == '' || typeof(x) == 'object' || typeof(x) == 'undefined')
            bbcode('[spoiler=' + y + ']', '[/spoiler]');
        else
            bbcode('[spoiler=' + y + '|' + x + ']', '[/spoiler]');
        }
        else
        bbcode('[spoiler]', '[/spoiler]')
    }
    function addSpoiler(str, from, internal){
        var pos = 0, pos2 = 0, pos_c = 0, pos_l = 0, newpos = 0, string = '', close = '', open = '';
        if ((pos = str.indexOf("[spoiler", from)) == -1)
        return str;
        if ((pos2 = str.indexOf("[/spoiler]"), pos + 9) == -1)
        return str;
        if (((pos_c = str.indexOf("]", pos + 8)) != -1) && ((pos_c != pos + 8) && (pos_c != pos + 9))) {
        string = str.substring(pos + 9, pos_c);
        if ((pos_l = string.indexOf("|")) != -1) {
            close = string.substring(0, pos_l);
            open = string.substring(pos_l + 1, string.length);
        }
        else {
            close = string;
            open = string;
        }
        }
        else {
        close = 'Показать спойлер';
        open = 'Скрыть спойлер';
        }
        newpos = str.indexOf("[spoiler", pos + 9)
        if (newpos < pos2 && newpos != -1)
        str = addSpoiler(str, pos + 9, true)
        if ((pos2 = str.indexOf("[/spoiler]", pos + 9)) == -1)
        return str;
        str = str.substring(0, pos) + makeSpoiler(str.substring(pos_c + 1, pos2), open, close) + str.substring(pos2 + 10, str.length)
        if (str.indexOf("[spoiler") != -1 && internal == false)
        str = addSpoiler(str, 0, false)
        return str;
    }

    function makeSpoiler(txt, open, close){
        txt = '<div class="quote-box" style="padding:1px;background: none; border: 0;"><cite style="width:100%;margin:0;"><a id="' + open + '" class="spoiler" style="width:100%;font-size:10px; margin:0;border:none;cursor:pointer;text-align:left;">'+close+'</a></cite><blockquote class="quote-box" style="display:none; width: 95%;border: 1px solid black;margin:0;">' + txt + '</blockquote></div>'
        return txt;
    }

    $(document).ready(function(){
        $("div.quote-box > cite > a.spoiler").click(function(){
        $(this).parents("div.quote-box:first").find("blockquote.quote-box:first").toggle("slow");
        var a = this.innerHTML;
        this.innerHTML= $(this).attr('id');
        $(this).attr('id', a);
        });
    });

    if ((document.URL.indexOf("viewtopic.php") != -1) || (document.URL.indexOf("post.php") != -1)) {
        elm = document.getElementById("pun-main").getElementsByTagName("div")
        for (x in elm)
        if (elm[x].className == "post-content") {
            var post = elm[x]
            post.innerHTML = addSpoiler(post.innerHTML, 0, false)
        }
    }
    if(form=document.getElementById("answer"))
        form.getElementsByTagName("tr")[0].insertCell(1).innerHTML="<img  id=\"spoiler\" title=\"Спойлер\" onclick=\"tag_spoiler('[spoiler]','[/spoiler]')\" src=\"/i/blank.gif\" />"
    </script>


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

Вставка кнопки для ббкода

Способ 1 (кнопка будет находится под формой ответа):

<input type="button" value="спойлер" onclick="tag_spoiler();">

Способ 2 (кнопка будет в панели бб-кодов)

<script type="text/javascript">
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(20).innerHTML='<img onclick="tag_spoiler();" title="Спойлер" src="https://forumupload.ru/uploads/0009/42/8c/1501-1.gif" style="width:20px;height:22px;padding-left:6px;">'
</script>

0

4

HTML-спойлер

Первым делом огромное спасибо sadhaka за её деятельность! Именно она дала этот скрипт!

Как известно хтмл-скрипт убирает под картинную кнопочку любые хтмл-элементы, будь то навигация или еще что нибудь.

это ставите в хтмл-низ:

   

Код:
<!--Скрипт хтмл-спойлера-->
    <script language="JavaScript" type="text/javascript">
    function openClose(id)
    {
    var obj = "";

    // Check browser compatibility
    if(document.getElementById)
    obj = document.getElementById(id).style;
    else if(document.all)
    obj = document.all[id];
    else if(document.layers)
    obj = document.layers[id];
    else
    return 1;

    // Do the magic :)
    if(obj.display == "")
    obj.display = "none";
    else if(obj.display != "none")
    obj.display = "none";
    else
    obj.display = "block";
    }
    </script>
    <!--/Скрипт хтмл-спойлера-->

а это туда, где вам спойлер нужен:

   

<!--Шапка спойлера-->
    <div class="spoilertop" onClick="openClose('1')">
    сюда то, что будет отображаться когда спойлер закрыт (можно картинку в обычном хтмл-е)
    </div>
    <!--Содержание спойлера-->
    <div class="spoilerbox" id="1" style="display:none;">
    сюда то, что под спойлером
    </div>

если будете ставить несколько спойлеров и хотите, чтобы они открывались по отдельности, то в последующих спойлерах циферку "1" меняете на 2, 3 и т.д.

если хотите, чтобы при наведении курсора на заголовок спойлера, курсор становился "лапкой", то ставите это, можно в хтмл-верх

<style>
    .spoilertop {cursor:pointer;}
    </style>

И еще раз спасибо sadhaka!

0

5

HTML-спойлер кнопкой для формы ответа

Скрипт убирает любые html-элементы под кнопку (спойлер).

Ставится в форму ответа.

<table><tr>
    <td onclick="return changeVisibility('mycolor', this)"><img src="Фоновая картинка (кнопка)" alt="Название_содержимого" /></td></tr></table>
    <div class="container" id="mycolor" style="display:none; width:ширина кнопкиpx">
    <table cellspacing="0">
    <tr>
    <td>
    СОДЕРЖИМОЕ
    </td>
    </tr>
    </table>
    </div>

Смайлики в форме ответа у нас убраны как раз под такую кнопку.

0

6

А зачем ты тогда звёздочки написала если они не нужны ))

0

7

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

А зачем ты тогда звёздочки написала если они не нужны ))

Потому что если убрать звездочки то нельзя будет спойлер прописать не в коде не в цитате, он будет превращаться в спойлер (части кода то бишь) воспринимается вот так

0


Вы здесь » ForumD.ru - Дизайн, графика, скрипты, техническая поддержка для форумов и сайтов » Архив устаревших тем » Спойлеры (сокрытие информации под кнопку/ссылку)