Раздвигающиеся меню

Раздвигающиеся меню

Раздвигающиеся меню

Честно говоря, не понимаю людей которые устанавливают на свой сайт такие вещи, но иногда приходится.

Тестировалось в Mozilla и MS Internet Explorer. Пример тут.

В примере видно, что пункты меню задаются не учень уобно очень не удобно. А вся разгадка в том, что меню это строится динамически из следующего файла:

Форум~~~http://forum.novgorod.ru/ Чат~~~http://www.dmbchat.ru/ Игры~~~http://hl.novgorod.ru/ Интерент~~~ -Поиск~~~http://search.novgorod.ru/ -Каталог сайтов~~~http://search.novgorod.ru/ -Интернет-обозрение~~~http://space.novgorod.ru/ Новости~~~http://news.novgorod.ru/ Веб-мастеру~~~ -Рейтинг сайтов~~~http://top.novgorod.ru -Сервер гостевых книг~~~http://guestbook.novgorod.ru/ -Домашние страницы~~~http://home.novgorod.ru/ -Баннерная сеть~~~http://banner.novgorod.ru/

Вот исходник на PHP:

<!--
.vis1 { visibility:visible;display:inline;}
.vis2 { visibility:hidden;display:none;}
//-->
</STYLE>

<SCRIPT language='JavaScript'>
<!--
function mnu(el) {
    var nel;
    d=document;
    if (navigator.appName=="Netscape") {
        nel=d.getElementsByName(el);
        nel=nel[0];
        }
    else {
        a=d.all;
        for (i=0;i<a.length;i++) if (a[i].name==el) nel=a[i];
        }
    nel.className=(nel.className=="vis1")?"vis2":"vis1";
    }
//-->
</SCRIPT>
<UL>
<?
$d=file("menu.txt");

$level=0;
$n=0;
for ($i=0;$i<count($d);$i++) {
    $x=explode("~~~",$d[$i]);
    if ($x[0][0]=="-") $nl=1; else $nl=0;
    if ($nl!=$level) {
        $level=$nl;
        if ($nl==1) {print "<div name=div".$n." class=vis2><UL>\n";$n++;}
        if ($nl==0) print "</UL></div>\n";
        }
    if ($level==1) $x[0]=substr($x[0],1);
    if ($d[$i+1][0]=="-" && $level==0)
        print "<LI><a href='javascript:mnu(\"div".$n."\")'><B>".trim($x[0])."</B></a>\n";
    else
        print "<LI><a href='".trim($x[1])."'>".trim($x[0])."</a>\n";
    }
?>
</UL>

Комментарии