DiNardo
Ссылку на конкретную страницу с установленным кодом и BB тегами в сообщении
(Вы лечите меня - а я на юг... вот типо так у Вас
Отредактировано Deff (Сб, 14 Янв 2012 00:16:41)
Единый форум поддержки |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Единый форум поддержки » Архив » Обновленный спойлер
DiNardo
Ссылку на конкретную страницу с установленным кодом и BB тегами в сообщении
(Вы лечите меня - а я на юг... вот типо так у Вас
Отредактировано Deff (Сб, 14 Янв 2012 00:16:41)
Deff
Эмм, простите за тупость, но на какую именно страницу? Где у меня это установлено? Оо Видимо, сессия полностью мой моск вынесла
Вот ссылка на сам форум. Только он пробный, так что не пугайтесь xD
кстати, кому нужен вариант спойлера как у Мкашера, вида
бла-бла-бла
то вот его сокращённая версия
(как и положено с защитой от срабатывания внутри тега [ code])
в html-низ:
<!--Spoiler new--> <script type="text/javascript"> function tag_spolier() {var FoundErrors = ''; var enterTITLE = prompt("Введите описание закрытой кнопки", 'Спойлер'); var enterTITLE2 = prompt("Введите описание открытой кнопки", 'Закрыть'); bbcode('[spoiler='+enterTITLE+'|'+enterTITLE2+']','[/spoiler]');} $(function(){ $('input.spoiler-button').click(function(){ $(this).parents('div.spoiler-box').find('blockquote.quote-box').toggle('normal'); var a = $(this).attr('value');$(this).attr('value',$(this).attr('id'));$(this).attr('id',a); }); }); $('td#button-code').before('<td style=\'background-image:url("http://img706.imageshack.us/img706/1943/spoiler.gif")\' onclick="tag_spolier()"><img src="/i/blank.gif" alt="Спойлер"></td>'); $('div.post-box p').map(function () { text = $(this).html(); if(text.indexOf("[/spoiler]" ) != -1) { spoil = /\[spoiler=(.*?)\|(.*?)\]([^`]*?)\[\/spoiler\]/gi $(this).html(text.replace(spoil, "<div class='spoiler-box' style='padding:1px;background: none;border: 0;'><input id='$2' class='spoiler-button' style='width:140px;font-size:10px; margin:0; cursor: pointer; font-weight:bold' type='button' value='$1'><blockquote class='quote-box' style='display:none; width:97%;border: 1px solid #88b5df;margin:0;'>$3</blockquote></div>")) } }); </script>
код раз в 5 короче чем у Мкашера, а эффект тот же
Romych
Вот за это спасибо. Как раз то, что я искала х)
Только вот вопросик - можно ли сделать ширину скрытого текста чуть меньше?
Чтобы она не выходила за рамки самого фона форума, вот как здесь. И еще - как сделать, чтобы текст кнопки был обычным, а не жирным?
Только вот вопросик - можно ли сделать ширину скрытого текста чуть меньше?
смотрите в скрипте третью с низу строку, ищем в ней вот такой параметр:
width:97%
вместо 97 процентов можете попробовать меньше (90 например)
как сделать, чтобы текст кнопки был обычным, а не жирным?
в этой же строке ищем такой параметр:
font-weight:bold
удаляем его и шрифт перестанет быть жирным
Romych
Все так сделала, все получилось.
Но вот теперь проблема, что сама кнопка перестала выглядеть,как кнопка.
Вот. Как это можно сделать нормальным?
DiNardo
Ссылку на страницу со спойлером
DiNardo
Пробуйте добавить перед скриптом
<style>
.spoiler-button{
padding:2px;
text-align:center;
border:outset 2px #E7EDF4;
margin-bottom:8px!important;
}
.spoiler-button:hover{
border-style:inset;
}
</style>
DiNardo
Вы поясняйте чо надо - я не экстрасенс
Deff
Эмм, как сделать, чтобы текст в этой кнопке не редактировался? Оо
Эмм, как сделать, чтобы текст в этой кнопке не редактировался? Оо
чтоб всегда был просто Спойлер? тогда вас нужен не этот вариант
Эмм, как сделать, чтобы текст в этой кнопке не редактировался? Оо
<!--Spoiler new-->
<script type="text/javascript">
function tag_spolier()
{var FoundErrors = '';
var enterTITLE = 'Спойлер';
var enterTITLE2 = 'Закрыть';
bbcode('+enterTITLE+'|'+enterTITLE2+','
');}
$(function(){
$('input.spoiler-button').click(function(){
$(this).parents('div.spoiler-box').find('blockquote.quote-box').toggle('normal');
var a = $(this).attr('value');$(this).attr('value',$(this).attr('id'));$(this).attr('id',a); }); });
$('td#button-code').before('<td style=\'background-image:url("http://img706.imageshack.us/img706/1943/spoiler.gif")\' onclick="tag_spolier()"><img src="/i/blank.gif" alt="Спойлер"></td>');
$('div.post-box p').map(function () {
text = $(this).html();
if(text.indexOf("[/spoiler]" ) != -1) {
spoil = /\[spoiler=(.*?)\|(.*?)\]([^`]*?)\[\/spoiler\]/gi
$(this).html(text.replace(spoil, "<div class='spoiler-box' style='padding:1px;background: none;border: 0;'><input id='$2' class='spoiler-button' style='width:140px;font-size:10px; margin:0; cursor: pointer; font-weight:bold' type='button' value='$1'><blockquote class='quote-box' style='display:none; width:97%;border: 1px solid #88b5df;margin:0;'>$3</blockquote></div>"))
} });
</script>
Romych
Нет. Боже, как же объяснить?
В общем, мне нужен предыдущий скрипт, все правильно. Просто сейчас, когда я нажимаю на эту кнопку, то там появляется курсор и можно редактировать название кнопки уже после отправки сообщения. (не отходя от кассы, так сказать).
И вот мне интересно, как это убрать? Т.е., чтобы если назвал ту кнопку "открыть", то она бы так и осталась названной "открыть", когда нажимаешь на нее, и курсор бы не появлялся.
Или это просто привилегия администратора так изменять? Оо
DiNardo
А чо -вариант в посте 176 - разве не выполняет подобную задачу ?
Здравствуйте! у нас стоит вот такой код.
<style> #button-spoiler {background-image:url('http://s50.radikal.ru/i129/1003/61/c3f5a0a3cf45.gif'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%} </style> <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;"><input id="'+open+'" class="spoiler-button" style="width:140px;font-size:10px; margin:0;" type="button" value="'+close+'"></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(){ $(this).parents("div.quote-box:first").find("blockquote.quote-box:first").toggle("slow"); var a = $(this).attr('value');$(this).attr('value',$(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("form-buttons")) form.getElementsByTagName("tr")[0].insertCell(16).innerHTML="<img id=\"button-spoiler\" title=\"Спойлер\" onclick=\"tag_spoiler('[spoiler]','[/spoiler]')\" src=\"/i/blank.gif\" />" </script>
Все работало хорошо. Никогда не жаловались. Но вот например иногда спойлер просто не определяется, не открывается, как вот здесь:
http://poramor.rolevka.ru/viewtopic.php … p=6#p27587
зависит ли это от объема сообщения? попробовала этот же код на другом тестовом сайте - все открывается.
В чем же проблема? Может с каким-то другим нашим кодом не справляется. Может, с муз.плеером конфликтует?
вот наш полный хтмл верх и низ.
<link rel="stylesheet" type="text/css" href="http://forumstatic.ru/styles/0007/78/27/style.1327427486.css" /> <style type="text/css"> #pun-announcement h2 {display: none} #pun-announcement .container {padding-top: 1em} </style> <style type="text/css"> .title-logo-tdr a, .title-logo-tdr iframe, .title-logo-tdr object { position: relative; z-index: 1000; right: -80px; top: -100px; } </style> <STYLE> BODY { cursor:url('http://fantasyflash.ru/cursor/cur/cursor153.cur');}</style> <link rel="shortcut icon" href="http://www.fantasyflash.ru/ico/image/icon7.ico" type="image/vnd.microsoft.icon"> <link rel="icon" href="http://www.fantasyflash.ru/ico/image/icon7.ico" type="image/vnd.microsoft.icon"> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("jquery", "1.3.2"); </script> <div id=alertMess style="display:none;width:291px; height:100px;top:42%;margin-left:-105px;position:fixed;z-index:100;"><img class=CloSandHid src="http://uploads.ru/i/L/H/t/LHtDQ.png" style="right:0;position:absolute;z-index:220;"/><a class=CloSandHid id=HREff href="" target="_blank"><img src="http://uploads.ru/i/y/6/E/y6E2J.png" style="position:absolute;z-index:100;"/></a><img class=MyMessag src="http://uploads.ru/i/t/v/p/tvpn3.png"/></div><script>function MiguN1(){$("#alertMess .MyMessag").fadeTo(1600,0.03,function(){$(this).fadeTo(1500,1,function(){return false});return false});return false}function setcookie(a,b,c){if(c){var d=new Date();d.setTime(d.getTime());d=new Date(d.getTime()+c*1000*60)}if(a&&b)document.cookie=a+'='+b+(c?'; expires='+d.toGMTString():'');else return false}function getcookie(a){var b=new RegExp(a+'=([^;]){1,}');var c=b.exec(document.cookie);if(c){c=c[0].split('=')}else{return false}return c[1]?c[1]:false}function timerZap(){timerID=setTimeout("MiguN1();timerZap();",3200);return}$(".CloSandHid").click(function(){setcookie("CloSandHid",true,15);if(getcookie("CloSandHid")){$("#alertMess").hide()}});if(!getcookie("CloSandHid")){$(document).ready(function(){var a=$("#navpm");$("#HREff").attr("href",a.find("a").attr("href"));if(a.text().indexOf("(")!=-1){timerID=setTimeout("$('#alertMess').fadeIn(2300);timerZap()",2300)}})}</script>
<style> /*Рекламный Банер*/ #pun-title td.title-logo-tdr { display:block!important; position:absolute!important; top:20px!important; z-index:1000!important; margin-left:100px!important; } .mybb_bs1 { filter: alpha(opacity=50) !important; opacity: 0.5 !important; -moz-opacity: 0.5 !important; -khtml-opacity: 0.5 !important; } .mybb_bs1:hover { filter: alpha(opacity=100) !important; opacity: 1.0 !important; -moz-opacity: 1.0 !important; -khtml-opacity: 1.0 !important; } </style> <script type="text/javascript"> $(document).ready(function() { document.getElementById("title-logo-tdr").innerHTML = "<div class='mybb_bs1'>" + document.getElementById("title-logo-tdr").innerHTML + "</div>"; document.getElementById("tieser-bottom").innerHTML = "<div class='mybb_bs1'>" + document.getElementById("tieser-bottom").innerHTML + "</div>"; }); </script> <script language="JavaScript"> str=document.URL page=str.substring(str.lastIndexOf('/')+1) if( page.substring(0,9)=="viewtopic") { arr = document.getElementsByTagName("input") i=0 while( i<20 ) { if(arr[i].name=="null") { arr[i].onclick = IsShow break } i++ } } function IsShow(){ return confirm("Вы действительно хотите посмотреть результаты опроса?\Если Вы это сделаете то не сможете в нём проголосовать.") } </script> <center> <a title="Каталог фэнтези сайтов Палантир" href='http://palantir.in/?from=14722' target='_blank'> <script type="text/javascript"> Md=document;Mnv=navigator; Mrn=Math.random();Mn=(Mnv.appName.substring(0,2)=="Mi")?0:1;Mp=0;Mz="p="+Mp+"&"; Ms=screen;Mz+="wh="+Ms.width+'x'+Ms.height;My="<img src='http://palantir.in/count.php?id=14722&today_hits=1&today_hosts=1&total_hosts=1&cid=1_5.png";My+="&cntc=none&rand="+Mrn+"&"+Mz+"&referer="+escape(Md.referrer)+'&pg='+escape(window.location.href);My+="' alt='Palantir' title='Каталог фэнтези сайтов Палантир' border='0' width='88px' height='31px'>";Md.write(My);</script> <noscript><img src="http://palantir.in/count.php?id=14722&today_hits=1&today_hosts=1&total_hosts=1&cid=1_5.png" alt='Palantir' title="Каталог фэнтези сайтов Палантир" border=0 width="88px" height="31px"></noscript> </a> <!--LiveInternet counter--><script type="text/javascript"><!-- document.write("<a href='http://www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t14.18;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";"+Math.random()+ "' alt='' title='LiveInternet: показано число просмотров за 24"+ " часа, посетителей за 24 часа и за сегодня' "+ "border='0' width='88' height='31'><\/a>") //--></script><!--/LiveInternet--> <!-- Yandex.Metrika informer --> <a href="http://metrika.yandex.ru/stat/?id=5471476&from=informer" target="_blank" rel="nofollow"><img src="//bs.yandex.ru/informer/5471476/3_1_FFFAFDFF_FADADDFF_0_pageviews" style="width:88px; height:31px; border:0;" alt="Яндекс.Метрика" title="Яндекс.Метрика: данные за сегодня (просмотры, визиты и уникальные посетители)" /></a> <!-- /Yandex.Metrika informer --> <!-- Yandex.Metrika counter --> <div style="display:none;"><script type="text/javascript"> (function(w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter5471476 = new Ya.Metrika(5471476); yaCounter5471476.clickmap(true); yaCounter5471476.trackLinks(true); } catch(e) { } }); })(window, 'yandex_metrika_callbacks'); </script></div> <script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript" defer="defer"></script> <noscript><div><img src="//mc.yandex.ru/watch/5471476" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <a href="http://latino-novelas.narod.ru/" target=_blank><img src="http://i007.radikal.ru/0806/0f/742140bd2eec.gif" alt="Latino Novelas: сайт о латиноамериканских теленовеллах. Информация о сериалах, фотогалереи, музыка, видео и многое многое другое."></a> <a href=http://amore.4bb.ru/><img src="http://forumupload.ru/uploads/0000/39/7f/118403-4.gif" border=0 alt="Сериалы Латинской Америки и не только..."></a> <a href=" http://mirela-mendoza.narod.ru/ " target="_blank"> <img src=" http://i028.radikal.ru/0805/e0/492702bb2699.jpg" title="Все о венесуэльской актрисе Миреле Мендосе: биография, фильмография, статьи, фото, cкриншоты, видеоролики, аватары, обои и многое другое." border="0" width="88" height="31"></a> <a href=" http://reina81.mybb.ru/" target="_blank"><img src=" http://s60.radikal.ru/i169/0911/cf/5fecd4f72ff2.gif " alt="Находим и скачиваем сериалы" width="88" height="31" border="0"></a> <a href=http://elclon.mybb.ru/><img src="http://uploads.ru/i/q/f/h/qfhSO.gif" border=0 alt title="Ролевая игра по мотивам сериала Клон."></a> </center> <style> #button-spoiler {background-image:url('http://s50.radikal.ru/i129/1003/61/c3f5a0a3cf45.gif'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%} </style> <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;"><input id="'+open+'" class="spoiler-button" style="width:140px;font-size:10px; margin:0;" type="button" value="'+close+'"></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(){ $(this).parents("div.quote-box:first").find("blockquote.quote-box:first").toggle("slow"); var a = $(this).attr('value');$(this).attr('value',$(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("form-buttons")) form.getElementsByTagName("tr")[0].insertCell(16).innerHTML="<img id=\"button-spoiler\" title=\"Спойлер\" onclick=\"tag_spoiler('[spoiler]','[/spoiler]')\" src=\"/i/blank.gif\" />" </script> <!--audio в одном v.2.3--> <script type="text/javascript"> var player; $(function(){ $('td#button-code').before('<td style=\'background-image:url("http://uploads.ru/i/W/Q/P/WQPBO.gif")\' onclick="tag_play()"><img src="/i/blank.gif" title="Загрузить музыку"></td>'); $("div.post-content").map(function () { text = $(this).html(); if(text.indexOf("zippyshare.com") != -1) { player = /\[audio\]http:\/\/www(\d+)\.zippyshare\.com\/v\/(\d+)\/file\.html\[\/audio\]/gi $(this).html(text.replace(player, "<br /><embed type='application/x-shockwave-flash' src='http://api.zippyshare.com/api/mediaplayer/mediaplayer.swf' flashvars='height=20&width=400&file=http://www$1.zippyshare.com/downloadMusic%3Fkey%3D$2%26&volume=80&autostart=false&frontcolor=0x000000&backcolor=0xffffff&lightcolor=0x000000&type=flv' quality='high' menu='false' wmode='transparent' allowscriptaccess='always' height='20' width='400' name='mp3player' border='0' style='margin-bottom: 6px;'/>"));} if(text.indexOf("promodj.ru") != -1) { player = /\[audio\]http:\/\/(.*?)\.promodj\.ru\/(.*?)\/(\d+)\/(.*?)\.html\[\/audio\]/gi $(this).html(text.replace(player, "<br /><embed src='http://i.cdn.promodeejay.net/swf/bigwaveplayer_release9.swf' type='application/x-shockwave-flash' wmode='transparent' width='100%' height='150' allowFullScreen='true' flashvars='link=http%3A%2F%2Fpromodj.ru%2Fprelisten%2F$3%2Fbobmarley%3Fwtf%3D0.41394098338022567%26no_external%3D1&wave=http%3A%2F%2Fpromodj.ru%2Fwaveform_prelisten%2F$3%2Fbobmarley.png%3Fwtf%3D0.41394098338022567%26stub%3D1&slowChannel=1&autostart=0&volumePercent=100&wavecolor=12982542'></embed>")); } if(text.indexOf(".mp3") != -1) { player = /\[audio\](.*?)\[\/audio\]/gi $(this).html(text.replace(player, "<br /><embed src='http://www.demo-music.ru/pleer/pleer4.swf' type='application/x-shockwave-flash' allowscriptaccess='always' wmode='transparent' flashvars='comment=demo-music.ru&st=http://www.demo-music.ru/pleer/style_pleer.txt&file=$1' width='470' height='33'>")); } }); }); function tag_play() {var FoundErrors = ''; var enterURL = prompt("Введите ссылку на музыку с promodj.ru, zippyshare.com или прямую ссылку формата .mp3 ", "http://"); if (!enterURL) {FoundErrors += " " + error_no_url;} if (FoundErrors) {alert("Ошибка!" + FoundErrors); return;} insert("[audio]" + enterURL + "[/audio]");} </script>
The First Lady
Гы - интересный эффект, связан с многочисленной загрузкой картинок,
Замените скрипт спойлера:
<style> #button-spoiler {background-image:url('http://s50.radikal.ru/i129/1003/61/c3f5a0a3cf45.gif'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%} </style> <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;"><input id="'+open+'" class="spoiler-button" style="width:140px;font-size:10px; margin:0;" type="button" value="'+close+'"></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").live("click", function(){ $(this).parents("div.quote-box:first").find("blockquote.quote-box:first").toggle("slow"); var a = $(this).attr('value');$(this).attr('value',$(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("form-buttons")) form.getElementsByTagName("tr")[0].insertCell(16).innerHTML="<img id=\"button-spoiler\" title=\"Спойлер\" onclick=\"tag_spoiler('[spoiler]','[/spoiler]')\" src=\"/i/blank.gif\" />" </script>
Вы здесь » Единый форум поддержки » Архив » Обновленный спойлер