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

HTML+CSS+JavaScript

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

 

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

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

тема: Многоуровневое меню
 
 автор: Dizels   (16.09.2006 в 13:50)   письмо автору
 
 

К примеру есть главное меню(главная, новости, услуги, контакты). Так вот, необходимо, чтобы когда наводишь курсор на услуги - выпадало 2 меню: программирование, дизайн, верстка, оптимизация, продвижение и т.д.
Как такое реализовать?

   
 
 автор: 12345   (16.09.2006 в 23:34)   письмо автору
 
   для: Dizels   (16.09.2006 в 13:50)
 

Сделать

   
 
 автор: GлюК   (17.09.2006 в 00:27)   письмо автору
 
   для: 12345   (16.09.2006 в 23:34)
 

Простенький вариант:

<script language="javascript">
var timerID = null
var timerRunning = false
function show()
         {
         if(timerRunning)
            clearTimeout(timeoutID);
         timerRunning = false;
         var stat=document.getElementById('hidden').style.display;
         if(stat=='none')
            document.getElementById('hidden').style.display='';
         }
function timer()
         {
         timeoutID=setTimeout(hid, 800);
         timerRunning = true;
         }
function hid()
         {
         document.getElementById('hidden').style.display='none';
         }
function fix()
         {
         if(timerRunning)
            clearTimeout(timeoutID);
         timerRunning = false;
         }
</script>
<table width="150">
 <tr>
  <td bgcolor="#BBBBBB" onMouseOver="show();" onMouseOut="timer();" align="center">
   услуги
  </td>
 </tr>
 <tr id="hidden" style="display: none;" onMouseOver="fix();" onMouseOut="timer();">
  <td bgcolor="#DDDDDD">
   <table>
    <tr>
     <td align="center">
      <a href="progr.html">программирование</a>
     </td>
    </tr>
    <tr>
     <td align="center">
      <a href="design.html">дизайн</a>
     </td>
    </tr>
   </table>
  </td>
 </tr>
</table>

   
 
 автор: victoor   (17.09.2006 в 02:20)   письмо автору
 
   для: GлюК   (17.09.2006 в 00:27)
 

А можно такое-же меню, только чтобы оно при открытии не сдвигало весь нижеследующий текст вниз?

   
 
 автор: Dizels   (17.09.2006 в 11:20)   письмо автору
 
   для: victoor   (17.09.2006 в 02:20)
 

Спасибо огромное, но действительно, как сделать так, чтобы ничего не сдигалось, а то у меня к примеру кнопки - картинки и очень некрасиво получается:( Поэтому присоединяюсь к вопросу victoor'a

   
 
 автор: Dizels   (18.09.2006 в 11:40)   письмо автору
 
   для: Dizels   (17.09.2006 в 11:20)
 

Кто-нибудь откликнитесь, как всетаки сделать так, чтобы ничего не съезжало вниз?

   
 
 автор: elenaki   (18.09.2006 в 11:45)   письмо автору
 
   для: Dizels   (18.09.2006 в 11:40)
 

<script language="javascript"> 
var timerID = null 
var timerRunning = false 
function show() 
         { 
         if(timerRunning) 
            clearTimeout(timeoutID); 
         timerRunning = false; 
         var stat=document.getElementById('hidden').style.display; 
         if(stat=='none') 
            document.getElementById('hidden').style.display=''; 
         } 
function timer() 
         { 
         timeoutID=setTimeout(hid, 800); 
         timerRunning = true; 
         } 
function hid() 
         { 
         document.getElementById('hidden').style.display='none'; 
         } 
function fix() 
         { 
         if(timerRunning) 
            clearTimeout(timeoutID); 
         timerRunning = false; 
         } 
</script> 
<table> 
 <tr> 
  <td bgcolor="#BBBBBB" onMouseOver="show();" onMouseOut="timer();" align="center"> 
   услуги 
  </td> 
   <td bgcolor="#DDDDDD" id="hidden" style="display: none;" onMouseOver="fix();" onMouseOut="timer();">  
   <table> 
    <tr> 
     <td align="center"> 
      <a href="progr.html">программирование</a> 
     </td> 
    </tr> 
    <tr> 
     <td align="center"> 
      <a href="design.html">дизайн</a> 
     </td> 
    </tr> 
   </table> 
  </td> 
 </tr> 
</table>

   
 
 автор: Dizels   (18.09.2006 в 18:24)   письмо автору
 
   для: elenaki   (18.09.2006 в 11:45)
 

Ну при такой схеме все сдвигается не по вертикали, а по горизонтали. А нужно сделать наложение на основной текст(может как-то неправильно говорю - терминологией не владею).
Т.е. чтобы просто перекрывало(но не сдвигало) все остальное.

   
 
 автор: elenaki   (18.09.2006 в 19:44)   письмо автору
 
   для: Dizels   (18.09.2006 в 18:24)
 

надо использовать не таблицы, а слои с разным z-index. тогда все будет "поверх".
вот так:

http://www.dotshop.gr/shop/index.php

или так:

http://www.digitalo24.com/shop/catalog/

таких менюшек в сети море. но лучше понимать, что делаете, а не просто копировать.

   
 
 автор: Dizels   (19.09.2006 в 11:13)   письмо автору
 
   для: elenaki   (18.09.2006 в 19:44)
 

elenaki, вот именно такая менюшка и нужна - очень прошу - помоги кодом, пожалуйста!

   
 
 автор: elenaki   (19.09.2006 в 14:26)   письмо автору
 
   для: Dizels   (19.09.2006 в 11:13)
 

http://www.javaportal.ru/javascript/examples/textmenu_v.html

   
 
 автор: Dizels   (20.09.2006 в 11:16)   письмо автору
 
   для: elenaki   (19.09.2006 в 14:26)
 

Спасибо тебе огромное!!!!

   
 
 автор: RMW   (18.09.2006 в 21:30)   письмо автору
 
   для: Dizels   (18.09.2006 в 11:40)
 

Можно в style выпадающей штучки добавить
позишн абсолют.
В IE станет красиво.

   
Rambler's Top100
вверх

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