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

HTML+CSS+JavaScript

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

 

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

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

тема: popup menu
 
 автор: larush2   (07.12.2011 в 09:42)   письмо автору
 
 

Привет всем.
Сел делать выпадающее меню. Узнал много нового :-) Сейчас проблема в следующем:
На omMouseOver главного меню вызывается отображение DIV со сформированными пунктами. Следовательно по onMouseOut cкрываю все DIV с определенным CLASS. Механизм динамичности отработан, осталось дело за малым - если увожу мышку с главного меню на выпадающий список, его бы не нужно скрывать. А как- даже идей нет. Может кто подскажет чего-то умного ?

  Ответить  
 
 автор: elenaki   (07.12.2011 в 10:46)   письмо автору
 
   для: larush2   (07.12.2011 в 09:42)
 

если увожу мышку с главного меню на выпадающий список
===================================================
выпадающий список - такой же элемент как и главный список, на нем тоже действуют события onMouseOver и onMouseOut

  Ответить  
 
 автор: larush2   (07.12.2011 в 11:25)   письмо автору
 
   для: elenaki   (07.12.2011 в 10:46)
 

ну это понятно, НО
есть 2 пункта меню <А> и под ними споизиционированы 2 невидимых <DIV>. Предполжим что навели на 1 пункт, в вызове функции я передал его ID=1, в функции прибавил к mmenu и получил id = mmenu1, у которого и меняю свойство display=block. Все работает. Теперь увожу мышку с пункта меню, DIV исчезает ... веду мышку дальше и навожу чере 2-3 пикселя на скрытый уже блок. Если ему присвоить omMouseOver с проявлением слоя, то он будет проявляться и без предварительного клика на главном меню. Разве не так ?

  Ответить  
 
 автор: elenaki   (07.12.2011 в 13:40)   письмо автору
 
   для: larush2   (07.12.2011 в 11:25)
 

у меня кроме собственно showMenu() и hideMenu() для этого использовались функции


function initiateHideMenu(){
    tm=setTimeout("hideMenu()",200) // 1 second delay to close a submenu
}

function cancelCloseMenu(){
    if(self.tm) clearTimeout(tm) // cancel delayed closing
}

  Ответить  
 
 автор: larush2   (07.12.2011 в 15:03)   письмо автору
 
   для: elenaki   (07.12.2011 в 13:40)
 

Совсем запутался. Можно кусок кода ? Не пойму как работать с переменной tm


function hide_popup(){
tm=setTimeout("hide_popup1()",200); // 1 second delay to close a submenu
}

function hide_popup1(){
    var divs = document.getElementsByTagName('div')
    var l = divs.length
    for(var i=0; i<l; i++){
        if(divs[i].className == 'mpop_block'){
            divs[i].style.display="none";
        }
   }
}

  Ответить  
 
 автор: elenaki   (07.12.2011 в 16:52)   письмо автору
8.6 Кб
 
   для: larush2   (07.12.2011 в 15:03)
 

у меня остался от тех времен только греческий вариант. надо? тогда в аттаче.

  Ответить  
 
 автор: larush2   (08.12.2011 в 11:00)   письмо автору
 
   для: elenaki   (07.12.2011 в 16:52)
 

Рассмотрю вариант попозже, пока что сделал просто- поднял слой с меню выше, не стало пробела между блоком главного меню и выпадающего слоя. На нижележащий общий слой назначил функции закрытия окон по onMouseOver

  Ответить  
Rambler's Top100
вверх

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