Техническая поддержка

Объявление

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

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


Вы здесь » Техническая поддержка » Скрипты » Новый спойлер


Новый спойлер

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

1

И так меня просили приукрасить спойлер Карпова и вот что получилось http://tests.bestff.ru/viewtopic.php?id=7&p=2#p80
тем кому сие чудо по душе

1) html-верх

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

возможно этот код у вас уже стоит, если вы к примеру делали красиво-выплывающее меню

2) html-низ или форма ответа(если гости не могут просматривать форумы)

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

Пробуйте ;)

+2

2

mkusher, отлично, утащил к себе на форум. :)

0

3

завтра об  этом подумаю  %-)

0

4

симпатичный!! :yep:

0

5

интересно как ты  видишь? :rolleyes:

0

6

а не много там  букавак?

0

7

Strecoza, ты вообще о чем?) обновил

0

8

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

интересно как ты  видишь?

красиво.. :D  а что не так??

0

9

АЛЬБ написал(а):

красиво..   а что не так??

не плохо, но я  к старому привыкла  :D  не буду ковыряться   и  ставить новый

0

10

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

не буду ковыряться   и  ставить новый

я сам поставлю..

0

11

АЛЬБ написал(а):

я сам поставлю..

СПАСИБКА  :love:

0

12

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

а не много там  букавак?

оооочень много, просто тьма тьмущая

0

13

исправил ошибку работы спойлера в спойлере

0

14

Пример доработки http://tests.bestff.ru/viewtopic.php?id=16#p89

Код:
<style>
#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; height:26px; width:100%}
</style>
<script type="text/javascript">
function tag_spoiler(){
	var y = prompt("Введите описание закрытой кнопки",'');
	if(y!='null' && typeof(y)!='object'){
	var x = prompt("Введите описание открытой кнопки",'');
	if(x=='null' || typeof(x)=='object') 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>

хтмл-низ, заменить старое, если таковое было

+1


Вы здесь » Техническая поддержка » Скрипты » Новый спойлер