Rionin
Новичок
выпадающее меню
Здравствуйте!
Пожалуйста, помогите разобраться.
есть вот такое меню
Как сделать выпадающее меню..
помогите, пожалуйста, не понимаю как тут так сделать.
есть:
надо чтобы подменю выводилось не вбок а вниз и не закрывалось какое-то время. у меня же сейчас подменю вообще не выводит ::unsure.gif::10
Здравствуйте!
Пожалуйста, помогите разобраться.
есть вот такое меню
Как сделать выпадающее меню..
помогите, пожалуйста, не понимаю как тут так сделать.
есть:
Код:
<?php
$menu_array = array(array(1 => "Главная", "#"),
array("Статьи", "#",
array("Маркетинг" => "#",
"Продажи" => "#",
"Реклама" => "#",
"Личностный рост" => "#",
"Hi-tech" => "#")),
array("Инфопродукты", "#",
array("Книги" => "#",
"Тренинги" => "#",
"Консультации" => "#")),
array("Решения", "#",
array("Живая 3D стена" => "#",
"Виртуальный конструктор" => "#",
"Интерактивный 3D дисплей" => "#",
"Виртуальная витрина" => "#")),
array("E-zine", "#"),
array("Контакты", "#"),
array("Гарантия", "#"))
?>
<script language="JavaScript">
var oldBgColor;
oldId = '';
function lightOn(elem) {
oldId = elem;
oldBgColor = document.getElementById(elem).style.background;
document.getElementById(elem).style.background = '<?php echo $light_bgcolor; ?>';}
function lightOff() {
document.getElementById(oldId).style.visibility = oldBgColor;}
function showLayer(elem) {
if(oldId != ''){
document.getElementById(oldId).style.visibility = 'hidden';
lightOff();
}
document.getElementById(elem).style.visibility = 'visible';
oldId = elem;
t = setTimeout("hiddenLayer()", 2000);
}
function smarthider(){
t = setTimeout("hiddenLayer()", 2000);
}
function hiddenLayer(oldId) {
if(oldId != ''){
document.getElementById(oldId).style.visibility = 'hidden';
lightOff();
}
}
</script>
<?php
$light_bgcolor = "#aeada9";
$menu_bgcolor = "#fbf7ef";
$menu_spacing = 5;
$sub_bgcolor = "#fbf7ef";
$sub_left = 135;
# Таблица стилей
echo "<style>\n";
echo ".menu a, table.submenu a {color: $link_color; font-size: 12px; font-weight: bold; text-decoration: none}\n";
echo ".menu {background-color: $menu_bgcolor; text-align: left; line-height: 2;}\n";
echo ".submenu {border: 1px $sub_bord_color solid; background-color: $menu_bgcolor; width: $sub_width; visibility: hidden; position: absolute; left: $sub_left; text-align: left;}\n";
echo "</style>\n\n";
# Печатаем таблицу меню
echo "<table width=\"$menu_width\" cellspacing: $menu_spacing>\n";
foreach ($menu_array as $key => $line)
{
# Печатаем пункт меню
echo "<tr><td class=\"menu\" id=\"menu".$key."\" onMouseOver=\"";
# Если есть подменю добаляем функция показа слоя при наведении
if (isset($line[2]))
{
echo "showLayer('menu".$key."_list') ";
}
echo "lightOn('menu".$key."')\" onMouseOut=\"";
# Если есть подменю добавляем функцию скрытия слоя при покидании
if (isset($line[2]))
{
echo "hiddenLayer('menu".$key."_list')";
}
# иначе функцию убирания подсветки при покидании
else
{
echo "lightOff()\" onMouseOver=\"";
}
# Если пункт меню имеет ссылку печатаем её, иначе просто текст
if ($line[1] != "")
echo "\" onClick=\"document.location = '".$line[1]."'\">
<a href=\"".$line[1]."\">".$line[0]."</a>";
else
echo "\">
<font color=\"$link_color\">$line[0]</font>";
echo "</td>\n<td width=\"0px\" valign=\"top\">\n";
# Печатаем пункты подменю
if (isset($line[2]))
{
echo " <table id=\"menu".$key."_list\" class=\"submenu\" onMouseOver=\"showLayer('menu".$key."_list')\" onMouseOut=\"hiddenLayer('menu".$key."_list')\">\n";
$i = 0;
foreach ($line[2] as $name => $url)
{
echo " <tr><td id=\"menu".$key."-".$i."\" onMouseOver=\"lightOn('menu".$key."-".$i."')\" onMouseOut=\"lightOff()\" onClick=\"document.location = '$url'\">
<a href=\"".$url."\">".$name."</a></td></tr>\n";
$i++;
}
echo " </table>\n";
}
echo "</td></tr>\n";
}
echo "</table>\n";
?>
надо чтобы подменю выводилось не вбок а вниз и не закрывалось какое-то время. у меня же сейчас подменю вообще не выводит ::unsure.gif::10