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

HTML+CSS+JavaScript

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

 

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

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

тема: Выпадающее меню на JavaScript.
 
 автор: Footer   (12.08.2006 в 12:54)   письмо автору
 
 

Помогите сделать вертикальное выпадающее меню. Вот в книге "PHP 5 на примерах" есть пример выпадающего меню. Это меню при наведении мышки на главную ссылку раскрывается вниз и показыватся дочерние разделы меню. Пробовал на его основе сделать меню, которое раскрывалось бы вверх. Но не понимаю как это сделать. Подскажте, плз, где надо подправить или тут вообще всё по-другому надо делать?

   
 
 автор: MadeInUSSR   (12.08.2006 в 15:36)   письмо автору
 
   для: Footer   (12.08.2006 в 12:54)
 

http://alvit.de/css-showcase/css-navigation-techniques-showcase.php

http://dhtmlcentral.com/script/search.asp?category=menu

не знаю с помощью явы ли

   
 
 автор: 12345   (12.08.2006 в 15:36)   письмо автору
 
   для: Footer   (12.08.2006 в 12:54)
 

А код?

   
 
 автор: Footer   (13.08.2006 в 09:12)   письмо автору
 
   для: 12345   (12.08.2006 в 15:36)
 

Вот такой код в книге был приведён. Но он для меню, которое выпадает вниз. А как сделать, чтобы меню выпадало вверх?
<div id = menu>
<table border = 0><tr valign = top>
    <td width = "100px" class = "menu_1">
     <div class = rootmenu>
      <a href = "#" onmouseover = "showmenu('m1')"
           onmouseout = "hidemenu()"><b>О компании</b></a></div>
     <div id = "m1" class = "submenu" onmouseover = "showmenu('m1')"
                         onmouseout = "hidemenu()">
     <a href = "http:/">О компании</a><br>
     <a href = "http://">Руководство</a><br>
     <a href = "http://">Контакты</a><br>
     <a href = "http://">Схема проезда</a> </td>
    </div>
    </td>
    <td width = "130px"class = "menu_1">
     <div class = rootmenu>
      <a href = "#" onmouseover = "showmenu ('m2')"
           onmouseout = "hidemenu()"><b>Продукция</b></a></div>
      <div id = "m2" class = "submenu" onmouseover = "showmenu ('m2')"
                          onmouseout = "hidemenu ()">
      <a href = "http://">Системные блоки</a><br>
      <a href = "http://">Жёсткие диски</a><br>
      <a href = "http://">CD-ROM</a></td>
    </div>
    </td></tr></table>
</div>

   
 
 автор: 12345   (13.08.2006 в 22:45)   письмо автору
 
   для: Footer   (13.08.2006 в 09:12)
 

Вы забыли стили добавить, без них не работает.
Чтобы "выпадало вверх" - сместить в стилях подменю на нужное место. И, наверное, вместо top использовать стиль bottom.

   
 
 автор: Footer   (14.08.2006 в 11:36)   письмо автору
 
   для: 12345   (13.08.2006 в 22:45)
 

Стили используются такие:

#menu {position: absolute; top: 64px; left: 0px}
.rootmenu {border-style: solid; border-width: 0px; padding: 2px}
.submenu {display: none; padding: 0px 0px 0px 5px; background-color: #DDDD9B; border-style: solid; border-width: 1px;}

Вроде бы использовал bottom, но что-то не работает. Может, не то изменял. Вот в данных стилях что надо изменить: только .submenu?

   
 
 автор: Footer   (16.08.2006 в 10:53)   письмо автору
 
   для: Footer   (14.08.2006 в 11:36)
 

Вертикальное меню сделал. Но вот как теперь сделать так, чтобы ещё в
подменю при наведении на одну из ссылок подменю выпадало ещё одно подменю (уже треьего уровня)? Пробовал добавлять контейнеры <div> но что-то не получается. Помогите, плз. Вот, например, нужно чтобы при наведении мышки на ссылку "Контакты" выпадало ещё одно подменю с ссылками. Помогите такое сделать. Уже запарился!

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
#menu {position: absolute; top: 64px; left: 0px}
.rootmenu {border-style: solid; border-width: 0px; padding: 2px}
.submenu {display: none; position: absolute; top: 100%; left: 87px; padding: 0px 0px 0px 5px; background-color: #DDDD9B; 

border-style: solid; border-width: 1px;}
.menu_1 {
    font-family: sans-serif;
    font-size: 12px;
    color: #AAAAAA;
    font-style: normal;
    font-weight: bold;
}
</style>
<script language="JavaScript" src="script_menu.js"></script>
</head>
<body bottommargin="0" leftmargin="0" rightmargin="0" topmargin="0" bgcolor="#FFFFCC"  link="#A4A428" alink="#A4A428" 

vlink="#A4A428" >
<div id = menu>
<table border = 0><tr valign = top>
    <td width = "100px" class = "menu_1">
     <div class = rootmenu>
      <a href = "#" onmouseover = "showmenu('m1')"
           onmouseout = "hidemenu()"><b>О компании</b></a></div>
     <div id = "m1" class = "submenu" onmouseover = "showmenu('m1')"
                         onmouseout = "hidemenu()">
     <a href = "http:/">О компании</a><br>
     <a href = "http://">Руководство</a><br>
     <a href = "http://">Контакты</a><br>
     <a href = "http://">Схема проезда</a> </td>
    </div>
    </td>
    <td width = "130px"class = "menu_1">
     <div class = rootmenu>
      <a href = "#" onmouseover = "showmenu ('m2')"
           onmouseout = "hidemenu()"><b>Продукция</b></a></div>
      <div id = "m2" class = "submenu" onmouseover = "showmenu ('m2')"
                          onmouseout = "hidemenu ()">
      <a href = "http://">Системные блоки</a><br>
      <a href = "http://">Жёсткие диски</a><br>
      <a href = "http://">CD-ROM</a></td>
    </div>
    </td></tr></table>
</div>
</body>
</html>

   
 
 автор: RMW   (16.08.2006 в 11:09)   письмо автору
 
   для: Footer   (16.08.2006 в 10:53)
 

Давай уж тогда и скрипты что ли до кучи.

   
 
 автор: Footer   (16.08.2006 в 15:52)   письмо автору
 
   для: RMW   (16.08.2006 в 11:09)
 

Вот тут вместе со скриптами. Вообщем, полный набор.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
#menu {position: absolute; top: 64px; left: 0px}
.rootmenu {border-style: solid; border-width: 0px; padding: 2px}
.submenu {display: none; position: absolute; top: 100%; left: 87px; padding: 0px 0px 0px 5px; background-color: #DDDD9B; 

border-style: solid; border-width: 1px;}
.menu_1 {
    font-family: sans-serif;
    font-size: 12px;
    color: #AAAAAA;
    font-style: normal;
    font-weight: bold;
}
</style>
<script language="JavaScript">
var oldsubmenu;
var timeOnMenu;
function showmenu (obj)
{
if (timeOnMenu)    {
    clearTimeout (timeOnMenu);
}
if (oldsubmenu) hide (oldsubmenu);
show (obj);
oldsubmenu = obj;
}

function hidemenu()
{
if (oldsubmenu) timeOnMenu = setTimeout ("hide (oldsubmenu)", 500)
}

function getObject (obj)
{
var theObj
if (document.layers)    {
    if (typeof obj == "string") return document.layers [obj]
    else return obj
}
if (document.all)    {
    if (typeof obj == "string")
    {
       if (document.all (obj) != null) return document.all (obj).style;
       else return null;
    }
    else return obj.style
}
if (document.getElementById)
{
    if (typeof obj == "string")
        return document.getElementById (obj).style
    else return obj.style
}
return null
}
function show (obj)     {
var theObj = getObject (obj);
if (typeof theObj.visibility != "undefined")
   theObj.visibility = "visible"
if (typeof theObj.display != "undefined") theObj.display = "block"
}
function hide (obj)
{
var theObj = getObject (obj)
if (typeof theObj.visibility != "undefuned")
   theObj.visibility = "hidden"
if (typeof theObj.display != "undefined") theObj.display = "none"
}
</script>
</head>
<body bottommargin="0" leftmargin="0" rightmargin="0" topmargin="0" bgcolor="#FFFFCC"  link="#A4A428" alink="#A4A428" 

vlink="#A4A428" >
<div id = menu>
<table border = 0><tr valign = top>
    <td width = "100px" class = "menu_1">
     <div class = rootmenu>
      <a href = "#" onmouseover = "showmenu('m1')"
           onmouseout = "hidemenu()"><b>О компании</b></a></div>
     <div id = "m1" class = "submenu" onmouseover = "showmenu('m1')"
                         onmouseout = "hidemenu()">
     <a href = "http:/">О компании</a><br>
     <a href = "http://">Руководство</a><br>
     <a href = "http://">Контакты</a><br>
     <a href = "http://">Схема проезда</a> </td>
    </div>
    </td>
    <td width = "130px"class = "menu_1">
     <div class = rootmenu>
      <a href = "#" onmouseover = "showmenu ('m2')"
           onmouseout = "hidemenu()"><b>Продукция</b></a></div>
      <div id = "m2" class = "submenu" onmouseover = "showmenu ('m2')"
                          onmouseout = "hidemenu ()">
      <a href = "http://www.leha.ru">Системные блоки</a><br>
      <a href = "http://">Жёсткие диски</a><br>
      <a href = "http://">CD-ROM</a></td>
    </div>
    </td></tr></table>
</div>
</body>
</html>

   
 
 автор: Footer   (17.08.2006 в 08:00)   письмо автору
 
   для: Footer   (16.08.2006 в 15:52)
 

Ну так что, есть идеи? Хелп, люди!!!!!

   
 
 автор: elenaki   (17.08.2006 в 10:44)   письмо автору
 
   для: Footer   (17.08.2006 в 08:00)
 


.submenu {display: none; position: absolute; top: -40; left: 87px; padding: 0px 0px 0px 5px; background-color: #DDDD9B;  

   
 
 автор: Footer   (17.08.2006 в 15:12)   письмо автору
 
   для: elenaki   (17.08.2006 в 10:44)
 

Ну это понятно. А как сделать, чтобы при наведении мышки на ссылку "CD-ROM" или на другую ссылку подменю выскаивало ещё одно подменю? Вот это не понятно.

   
 
 автор: RMW   (17.08.2006 в 16:10)   письмо автору
 
   для: Footer   (17.08.2006 в 15:12)
 

В двух словах не скажешь как.
Трудно будет переделать.
Возможно, что проще с нуля написать.
Попробуйте поискать готовый скрипт
и подогнать его под вашу страницу.

   
 
 автор: elenaki   (17.08.2006 в 16:30)   письмо автору
 
   для: RMW   (17.08.2006 в 16:10)
 

TAKOE?
http://www.tsompos.com/admin/test111.html

klayers.js BAC CПACET :)

   
Rambler's Top100
вверх

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