|
|
|
| в текст вставляется код
[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\"> ".$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\"> ".$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
(08.10.2009 в 20:29)
| | не получается сделать так чтобы у каждого спойлера который в спойлере был свой уникальный ID | |
|
|
|