Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Система Управлением Сайта | Установка и настройка системы
# 1 Тема: спойлер помогите
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 07 Октября 2009, 07:35:54
помогите приучить этот спойлер к ББкоду

вставить в ксс

.spoilerbody { background: #F5F5F5; margin: 8px auto; width: 97%; border: solid #C3CBD1; border-width: 1px 1px 1px 2px;clear: both;}
.spoilerhead { background: #E9E9E6; font-weight: 11px; cursor: pointer; display: block; width: 100%; height: 100%; text-align: left; text-decoration: none;}
.spoilertext { font-weight: normal; background: #F5F5F5; }


добавить в новость

<div class='spoilerbody'><span><div class='spoilerhead' onclick="obj=this.parentNode.childNodes[1].style; tmp=(obj.display!='block') ? 'block' : 'none'; obj.display=tmp;
var o=this.getElementsByTagName('img')[0];if(!o._src){o._src=o.src;o.src='http://172.29.222.251/minus.gif';}else{var x=o.src;o.src=o._src;o._src=x;};return false;"><table><tr HEIGHT='2px'><td></td></tr></table> <img src='http://172.29.222.251/plus.gif'> <b>Читать дальше...</b><table><tr HEIGHT='2px'><td></td></tr></table></div><div class='spoilertext' style='display: none;'>
{content}
</div></span></div>


--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 2  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 07 Октября 2009, 15:39:02
Версия?


--------------------
Retired
^ наверх ^
1 пользователь сказал спасибо Вам: pank
# 3  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 07 Октября 2009, 17:58:51
Psc шестерка


--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 4  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 08 Октября 2009, 16:46:09
Как бы, попытки сделать были? В моем стиле не делать всю работу, а помочь в проблемных местах.
Или ты не кодер?


--------------------
Retired
^ наверх ^
1 пользователь сказал спасибо Вам: pank
# 5  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 09 Октября 2009, 17:37:43
попытки сделать были но у меня проблема возникает с частью onclick


$text = preg_replace('#\[spoiler\](.*?)\[/spoiler\]#si', '<div class=\'spoilerbody\'><span><div class=\'spoilerhead\' onclick=\"obj=this.parentNode.childNodes[1].style; tmp=(obj.display!='block') ? 'block' : 'none'; obj.display=tmp;var o=this.getElementsByTagName('img')[0];if(!o._src){o._src=o.src;o.src='http://172.29.222.251/minus.gif';}else{var x=o.src;o.src=o._src;o._src=x;};return false;\"><table><tr HEIGHT=\'2px\'><td></td></tr></table> <img src=\'http://172.29.222.251/plus.gif\'> <b>Читать дальше...</b><table><tr HEIGHT=\'2px\'><td></td></tr></table></div><div class='spoilertext' style=\'display: none;\'>\1</div></span></div>', $text);


пробовал onclick через функцию запихать неполучилось


[Изменил(а) pank, 09 Октября 2009, 17:39:22]

--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 6  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 09 Октября 2009, 18:59:11
Заэкранировал все кавычки, вот смотри

$text = preg_replace('#\[spoiler\](.*?)\[/spoiler\]#si', '<div class=\'spoilerbody\'><span><div class=\'spoilerhead\' onclick=\"obj=this.parentNode.childNodes[1].style; tmp=(obj.display!=\'block\') ? \'block\' : \'none\'; obj.display=tmp;var o=this.getElementsByTagName(\'img\')[0];if(!o._src){o._src=o.src;o.src=\'http://172.29.222.251/minus.gif\';}else{var x=o.src;o.src=o._src;o._src=x;};return false;\"><table><tr HEIGHT=\'2px\'><td></td></tr></table> <img src=\'http://172.29.222.251/plus.gif\'> <b>Читать дальше...</b><table><tr HEIGHT=\'2px\'><td></td></tr></table></div><div class=\'spoilertext\' style=\'display: none;\'>\1</div></span></div>', $text);



Если вся проблема в этом, то это не проблема :)


--------------------
Retired
^ наверх ^
1 пользователь сказал спасибо Вам: pank
# 7  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 09 Октября 2009, 19:14:46
Psc так не работает, вернее ошибок не выдает, но он не открывается я думаю надо содержимое onclick в функцию какую нибудь внести


--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 8  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 10 Октября 2009, 09:01:56
Извиняюсь забыл твою ошибку поправить, правил только парсинг :)

$text = preg_replace('#\[spoiler\](.*?)\[/spoiler\]#si', '<div class=\'spoilerbody\'><span><div class=\'spoilerhead\' onclick="obj=this.parentNode.childNodes[1].style; tmp=(obj.display!=\'block\') ? \'block\' : \'none\'; obj.display=tmp;var o=this.getElementsByTagName(\'img\')[0];if(!o._src){o._src=o.src;o.src=\'http://172.29.222.251/minus.gif\';}else{var x=o.src;o.src=o._src;o._src=x;};return false;"><table><tr HEIGHT=\'2px\'><td></td></tr></table> <img src=\'http://172.29.222.251/plus.gif\'> <b>Читать дальше...</b><table><tr HEIGHT=\'2px\'><td></td></tr></table></div><div class=\'spoilertext\' style=\'display: none;\'>\1</div></span></div>', $text);



Теперь работает.
PS Дело было в экранировании кавычки ( \" ) неверном.

Кстати чтобы не желать кучу экранов ( \' ), можно просто было ставить везде кавычку " , и немного \' заэкранированных


[Изменил(а) Psc, 10 Октября 2009, 09:03:13]

--------------------
Retired
^ наверх ^
1 пользователь сказал спасибо Вам: pank
# 9  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 10 Октября 2009, 17:05:13
Psc огромное спасибо


--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
Перейти на форум:


105,524,483 уникальных посетителей
сейчас: 23 Ноября 2024, 14:41:18
Генерация страницы: 0.24 сек.

Original size:31 кб.
GZipped size: 6 кб.
Compression:80%