Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.10.2011, 19:15
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

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

<div id="one" style="width:100px; height:100px; background:#333;" onMouseOver="document.getElementById('two').style.display = 'block';"></div>
    
<div id="two" style="width:200px; height:100px; background:#999; margin:20px 0 0 0; display:none;" onMouseOut="document.getElementById('two').style.display = 'none';">
    
    <ul>
        
        	<li>1</li>
        	<li>1</li>
        	<li>1</li>
        	<li>1</li>
        
    </ul>
    
</div>


Как решить проблему ?
Заранее благодарю!
Ответить с цитированием
  #2 (permalink)  
Старый 25.10.2011, 19:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от lolka84
при наведении на некоторый элемент должен появляться div
Может пример сделаешь полный? Поскольку не понятно про какой "некоторый элемент" идёт речь...
Ответить с цитированием
  #3 (permalink)  
Старый 25.10.2011, 19:46
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

При mouseout проверять есть ли у элемента на который перешли в родителях эта дивка, и если нету то тогда выполнять что надо
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #4 (permalink)  
Старый 25.10.2011, 19:51
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Есть список <ul></ul>, тобишь обычное меню.
При наведении на один из пунктов должен рядом появляться div с другим списком <ul></ul>, типа подменю

<ul>
    
        <li>1</li>
        <li id="one" onMouseOver="document.getElementById('two').style.display = 'block';">1</li>
        <li>1</li>
        <li>1</li>
    
    </ul>
        
    <div id="two" style="width:200px; height:100px; background:#999; margin:20px 0 0 0; display:none;" onMouseOut="document.getElementById('two').style.display = 'none';">
    
    	<ul>
        
        	<li>1</li>
        	<li>1</li>
        	<li>1</li>
        	<li>1</li>
        
        </ul>
    
    </div>
Ответить с цитированием
  #5 (permalink)  
Старый 25.10.2011, 19:52
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Сообщение от walik Посмотреть сообщение
При mouseout проверять есть ли у элемента на который перешли в родителях эта дивка, и если нету то тогда выполнять что надо
Счас попробую, спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 25.10.2011, 20:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от lolka84
При наведении на один из пунктов должен рядом появляться div с другим списком <ul></ul>, типа подменю
Как вариант...

<style type="text/css">
.submenu {
	display: none;
}
.menu > li:hover > .submenu {
	display: block;
}
</style>
<ul class='menu'>
	<li>1
		<ul class='submenu'>
			<li>1 1</li>
			<li>1 2</li>
			<li>1 3</li>
			<li>1 4</li>
		</ul>
	</li>
	<li>2</li>
	<li>3</li>
	<li>4</li>
</ul>
Ответить с цитированием
  #7 (permalink)  
Старый 25.10.2011, 20:13
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Сообщение от ksa Посмотреть сообщение
Как вариант...
Не пойдет, меню, которое должно появляться, не является дочерним к тому, на которое наводим курсор

С проверкой на родителя чот не выходит.
Получается, когда на появившемся диве курсор попадает на список, срабатывает событие onmouseout. Как в этот момент проверить, является ли этот див родителем у списка ?
Ответить с цитированием
  #8 (permalink)  
Старый 25.10.2011, 20:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от lolka84
меню, которое должно появляться, не является дочерним к тому, на которое наводим курсор
Что мешает его сделать дочерним?
Ответить с цитированием
  #9 (permalink)  
Старый 25.10.2011, 20:34
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Сообщение от ksa Посмотреть сообщение
Что мешает его сделать дочерним?
Да впринципе нечего, попробую, спасибо.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с событиями onMouseOut и onMouseOver IIIgun Общие вопросы Javascript 16 13.05.2011 21:55
onmouseover + onmouseout m0nya Events/DOM/Window 6 12.07.2010 13:36
Как совместить работу onmouseover, onmouseout и onclick Sed0Y Общие вопросы Javascript 11 11.08.2009 15:59
Не может сработать onclick из-за приоритета onmouseover и onmouseout Rodion Events/DOM/Window 7 28.05.2009 22:58
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 13:43