Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите сделать спойлер в спойлере
 
 автор: dirol   (08.10.2009 в 20:29)   письмо автору
 
 

в текст вставляется код

[spoiler] проверках

[spoiler] проверках. [/spoiler]
[spoiler] проверках. [/spoiler]
[spoiler] проверках. [/spoiler]

[/spoiler]

в движке ии коды обрабатываются так

$bb[] = "#\[spoiler\](.*?)\[/spoiler\]#ies";
$html[] = "build_spoiler('\\1')";
$bb[] = "#\[spoiler=(.+?)\](.*?)\[/spoiler\]#ies";
$html[] = "build_spoiler('\\2', '\\1')";
$sourse = preg_replace($bb, $html, $sourse);



сама функция

function build_spoiler($text="", $title=""){
$spoiler_id =md5(microtime()+rand());
$title = ($title) ? $title : ""._SPOILER."";
return "<div class=\"title_spoiler\"><a href=\"javascript:SpoilerShowOrHide('".$spoiler_id."', '".$spoiler_id."-open');\" id=\"".$spoiler_id."-open\" onclick=\"javascript:SpoilerShowOrHide('".$spoiler_id."-close')\"><img src=\"images/plus.jpg\">&nbsp;".$title."</a><a href=\"javascript:SpoilerShowOrHide('".$spoiler_id."', '".$spoiler_id."-close');\" id=\"".$spoiler_id."-close\"  style=\"display: none;\" onclick=\"javascript:SpoilerShowOrHide('".$spoiler_id."-open')\"><img src=\"images/minus.jpg\">&nbsp;".$title."</a></div><div id=\"".$spoiler_id."\" class=\"spoiler\" style=\"display:none;\">".bb_decode($text,"")."</div>";
}



если делать по одному спойлеру то все нормально. но как только вставляю спойлер в другой спойлер все нарушается


function getElementById(id){
  var item = null;

  if (document.getElementById){
    item = document.getElementById(id);
  } else if (document.all){
    item = document.all[id];
  } else if (document.layers){
    item = document.layers[id];
  }

  return item;
}

function SpoilerShowOrHide(d1, d2) {
  if (d1 != ''){
      DoDiv(d1);
  }

  if (d2 != ''){
      DoDiv(d2);
  }
}

function ShowOrHide(d1) {
      if (d1 != '') DoDiv(d1);
};


function DoDiv(id) {
      var item = null;
      if (document.getElementById) {
        item = document.getElementById(id);
      } else if (document.all){
        item = document.all[id];
      } else if (document.layers){
        item = document.layers[id];
      }
      if (!item) {
      }
      else if (item.style) {
        if (item.style.display == "none"){ item.style.display = ""; }
        else {item.style.display = "none"; }
      }else{ item.visibility = "show"; }
};

  Ответить  
 
 автор: dirol   (09.10.2009 в 12:20)   письмо автору
 
   для: dirol   (08.10.2009 в 20:29)
 

не получается сделать так чтобы у каждого спойлера который в спойлере был свой уникальный ID

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования