Единый форум поддержки

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

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


Вы здесь » Единый форум поддержки » Корзина » Проблема со скоиптом спойлера


Проблема со скоиптом спойлера

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

1

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

Код:
<style type="text/css">
#button-spoiler {background-image:url('http://img18.myimg.de/104110771079108bd07e.png'); 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 style='padding:1px'><input style='width:64px;font-size:11px;' type='button' value='Показать' onclick='hideSpoiler(this)'><br /><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(18).innerHTML="<img  id=\"button-spoiler\" title=\"Спойлер\" onclick=\"bbcode('[spoiler]','[/spoiler]')\" src=\"/i/blank.gif\" />"
</script>

0

2

Заголовок темы изменить нельзя  http://i053.radikal.ru/0806/7f/8b80a2497566.gif

-1

3

sokol
Можешь дать ссылку на тему, где сразу несколько спойлеров стоит?

0

4

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

Заголовок темы изменить нельзя

можно. нажми кнопку редактировать первого поста. и тогда можно отредактировать и заголовок.

P.S сорри за флуд не по теме

+1

5

Duka
Спойлер и Доп.цвета

0

6

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

DukaСпойлер и Доп.цвета

Я про тему на твоем форуме со спойлерами

0

7

Duka
ВОТ ХОТЯБЫ ЭТО http://fffan.ru/viewtopic.php?pid=7595#p7595

0

8

sokol
Пробуй так

Код:
<style type="text/css">
#button-spoiler {background-image:url('http://img18.myimg.de/104110771079108bd07e.png'); 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 style='padding:1px'><cite style='width:100%'><input style='width:64px;font-size:11px;' type='button' value='Показать' onclick='hideSpoiler(this)'></cite><br /><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(18).innerHTML="<img  id=\"button-spoiler\" title=\"Спойлер\" onclick=\"bbcode('[spoiler]','[/spoiler]')\" src=\"/i/blank.gif\" />"
</script>

+1

9

О-о-о!   работает как надо  http://i039.radikal.ru/0806/ec/a5ffc6d7cfd9.gif  http://i039.radikal.ru/0806/ec/a5ffc6d7cfd9.gif http://mybb.ru/f/collection/0211.gif еще плюсик в вашу копилку)

Отредактировано sokol (Вс, 11 Янв 2009 18:20:07)

0


Вы здесь » Единый форум поддержки » Корзина » Проблема со скоиптом спойлера