И етить.... скритп мега кривой.... Как вариант такую чепуху можно сделать, основываясь например на мой скрипт FAQ ( http://www.art-flora.ru/web/faq.html )
Смысл его прост:
<вопрос>
<невидимый ответ>
...
<вопрос>
<невидимый ответ>
при клике на вопрос ответ становится видимым/невидимым.
Работает без глюков во всех браузерах.
Код значить, который на страничке писать надо:
Code
<script src="faq.js" type="text/javascript"></script>
<div id="wpq-1" class="toggler-top">
<div class="toggler" onClick="WPtoggle(1)" >Как мы работаем с клиентами?</div>
</div>
<div id="wpa-1" class="invisible">
<p>В первую очередь, мы работаем честно, профессионально, быстро, качественно и в установленные сроки.</p>
</div>
<div id="wpq-2" class="toggler">
<div onClick="WPtoggle(2)">Что за животное живет на нашей главной странице?</div></div>
<div id="wpa-2" class="invisible">
<p>Тюлень <img src="http://src.ucoz.net/sm/2/smile.gif" border="0" align="absmiddle" alt="smile"> Каждый тюлень имеет право жить на каком-либо сайте в Интернете.</p>
</div>
<div id="wpq-3" class="toggler">
<div onClick="WPtoggle(3)">Сколько будет стоить сайт?</div>
</div>
<div id="wpa-3" class="invisible"><p>Стоимость Интернет-сайта зависит от различных факторов, таких, как:</p>
<ul>
<li>Дизайн</li>
<li>Структура</li>
<li>Требуемая функциональность </li>
<li>Количество информации</li>
<li>Используемые технологии</li>
<li>Покупка доменного имени</li>
<li>Хостинг</li>
<li>и другие..</li></ul>
</div>
<div id="wpq-4" class="toggler">
<div onClick="WPtoggle(4)">Какие материалы необходимы для создания сайта?</div>
</div>
<div id="wpa-4" class="invisible"><p>Для начала работ достаточно вашего логотипа и пожеланий, если имеются исходные графические элементы (фотографии, иллюстрации, брендбук), вы сможете предоставить их.</p>
</div>
<div id="wpq-5" class="toggler">
<div onClick="WPtoggle(5)">Что такое правильно созданный Интернет-сайт?</div>
</div>
<div id="wpa-5" class="invisible"><p>Грамотно построенный интернет-сайт отвечает следующим требованиям:</p>
<ul>
<li>Вызывает доверие пользователя к компании, к качеству предлагаемых товаров/ услуг</li>
<li>Вовремя обновляется и является информативным и содержательным</li>
<li>Легко находится поисковыми системами</li>
<li>Прост в использовании и получении нужной информации</li>
<li>Внешнее оформление web-сайта соответствует фирменному стилю компании и подчеркивает ее респектабельность</li>
</ul>
</div>
Код самого скрипта:
Code
var animationInterval = 15;
var animationSteps = 10;
var updateStep = 7;
var openNow = 1;
var tobeOpen = 0;
var isCached = false;
var question = new Array();
var answer = new Array();
var currentQ = null;
var currentA = null;
var currentAHeight = 0;
var animationTimer = null;
var animationStep = 0;
var collapcingStep = 0;
var collapcingValue = 0;
document.onkeydown = NavigateThrough;
function WPtoggle (n)
{
if (animationTimer) return;
CacheParts();
if (n <= 0) n = answer.length - 1;
else if (n >= answer.length) n = 1;
if (openNow)
{
ClosePart (openNow);
OpenPart (n);
Animate();
}
else
{
ForceOpen (n);
}
}
function CacheParts()
{
if (isCached) return;
for (var c = 1;; c++)
{
var currentQ = document.getElementById ('wpq-' + c);
var currentA = document.getElementById ('wpa-' + c);
if (!currentQ || !currentA) break;
question[c] = currentQ;
answer[c] = currentA;
}
isCached = true;
}
function UpdateFace (n)
{
var faceHolder = document.getElementById ('WorkFace');
}
function ClosePart (n)
{
currentQ = question[n];
currentA = answer[n];
currentAHeight = answer[n].offsetHeight;
}
function OpenPart (n)
{
tobeOpen = n;
}
function Animate()
{
animationTimer = setInterval (AnimationStep, animationInterval);
animationStep = 1;
collapcingValue = 0;
collapcingStep = parseInt (currentAHeight / animationSteps);
}
function AnimationStep()
{
if (++animationStep >= animationSteps)
{
clearInterval (animationTimer);
animationTimer = null;
animationStep = 0;
AnimationPostprocess();
}
else
{
collapcingValue -= collapcingStep;
MoveBlocks();
if (animationStep == updateStep) UpdateFace (tobeOpen);
}
}
function AnimationPostprocess()
{
for (var c = 1; c != question.length; c++)
{
question[c].style.top = '0';
answer[c].style.top = '0';
}
currentA.className = 'invisible';
currentA.style.color = '#000000';
if (tobeOpen != openNow) answer[tobeOpen].className = 'visible answer';
else tobeOpen = 0;
openNow = tobeOpen;
tobeOpen = 0;
}
function MoveBlocks()
{
currentA.style.color = StepColor();
for (var c = openNow + 1; c != question.length; c++)
{
question[c].style.top = collapcingValue + 'px';
answer[c].style.top = collapcingValue + 'px';
}
}
function StepColor()
{
var colorChar = dec2hex (parseInt (16 * animationStep / animationSteps));
var ret = colorChar + colorChar + colorChar;
return '#' + ret;
}
function dec2hex (dec)
{
var hexChars = "0123456789ABCDEF";
dec %= 16;
return hexChars.charAt (dec);
}
function ForceOpen (n)
{
answer[n].className = 'visible answer';
openNow = n;
}
Ну а дальше, "вопрос" -> пункт меню, "ответ" -> пункт меню уровня ниже. и т.д.