Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.12.2014, 12:25
Интересующийся
Отправить личное сообщение для yura_yushkevich Посмотреть профиль Найти все сообщения от yura_yushkevich
 
Регистрация: 07.12.2014
Сообщений: 25

Появление div не могу разобраться
Здравствуйте!
Делаю выпадающее меню, вроде как и ничего сложного, проблема в следующем, ставлю обработку onmouseover на li, при наведении появляется (div id="block_1") но как только я увожу курсор с li div, сразу закрывается т.к. срабатывает событие onmouseout, в div я тоже прописал onmouseover и onmouseout, однако div все равно сразу закрывается.
Помогите плз. В js только начинаю. Заранее спсибо.

function display_visible (block_1)

{
		if ($(block_1).css('display') == 'none')
		{
		$(block_1).animate({height: 'show'}, 500);
}


}

function display_hide (block_1)
{
	if ($(block_1).css('display') == 'block')
{
	$(block_1).animate({height: 'hide'}, 500);
}
}



<ul>
                        <li onmouseover="display_visible('#block_1')" onmouseout="display_hide('#block_1')"><a href="#" class="active">Новые автомобили</a>

                            <div class="main_menu_right_sub_wrp" id="block_1" onmouseover="display_visible('#block_1')" onmouseout="display_hide('#block_1')">
                                <ul class="main_menu_right_sub_left">
                                    <li class="fl-l">
                                        <ul>
                                            <li class="main_menu_right_sub_text_label"> Обзор</li>
                                            <li> <a title="" href="#"> Спецпредложения </a> </li>
                                            <li>
                                                <a title="" href="#"> Конфигуратор </a>
                                            </li>
                                            <li>
                                                <a title="" href="#"> Цены </a>
                                            </li>
                                            <li>
                                                <a title="" href="#"> Модельный ряд </a>
                                            </li>
                                            <li>
                                                <a title="" href="#"> Модельный ряд AMG </a>
                                            </li>
                                            <li>
                                                <a title="" href="#"> designo </a>
                                            </li>
                                            <li>
                                                <a title="" href="#"> guard </a>
                                            </li>
                                            <li>
                                                <a title="" href="#"> AMG </a>
                                            </li>
                                            <li>
                                                <a title="" href="#"> smart </a>
                                            </li>
                                        </ul>
                                    </li>
                                    <li>
                                        <ul class="main_menu_right_sub_right">
                                            <li class="main_menu_right_sub_text_label"> Быстрый доступ </li>
                                            <li><a target="_blank" title="" href="http://sales.mercedes-olimp.ru/ "> Сегодня в продаже</a>
                                            </li>
                                            <li><a target="_blank" title="" href="http://www.test-drive.mercedes-olimp.ru "> Заявка на тест-драйв</a></li>
                                        </ul>
                                    </li>
                                </ul>
                                <ul class="main_menu_right_sub_sec">
                                    <li class="main_menu_right_sub_text_label"> Спецпредложения </li>
                                    <li>
                                        <div class="main_menu_right_sub_img_wrp">
                                                <section>
                                                    <div class="main_menu_right_sub_img_wrp_inner">
                                                        <a class="main_menu_right_sub_img_wrp_block special" target="_blank" href="#" title="Спецпредложения">
                                                            <h2>Спецпредложения</h2>
                                                            <p>в наличии<br></p>
                                                        </a>
                                                    </div>
                                                </section>
                                        </div>
                                    </li>
                                    <li>
                                        <div class="">
                                            <section>
                                                <a class="main_menu_right_sub_img_wrp_block complex" href="#" title="Противоугонный комплекс">
                                                    <h2>Противоугонный<br>комплекс</h2>
                                                    <p>в подарок!<br></p>
                                                </a>
                                            </section>
                                        </div>
                                    </li>
                                </ul>
                            </div>
                        </li>
Ответить с цитированием
  #2 (permalink)  
Старый 07.12.2014, 12:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сделай по-нормальному. Навешивай обработчики через jQuery. Ну и наверно не mouseover, а mouseenter (еще один повод навешивать их через jQuery, ибо они не поддерживаются старыми браузерами, а jQuery это фиксит).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 07.12.2014, 12:36
Интересующийся
Отправить личное сообщение для yura_yushkevich Посмотреть профиль Найти все сообщения от yura_yushkevich
 
Регистрация: 07.12.2014
Сообщений: 25

Цитата:
Навешивай обработчики через jQuery
Это как? Я извиняюсь )
Ответить с цитированием
  #4 (permalink)  
Старый 07.12.2014, 12:40
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$('li').mouseenter(function(){ ... }).mouseleave(...)

Или шорткат:
$('li').hover(function() { /* mouseenter */ }, function() { /* mouseleave */ });
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 07.12.2014, 12:41
Интересующийся
Отправить личное сообщение для yura_yushkevich Посмотреть профиль Найти все сообщения от yura_yushkevich
 
Регистрация: 07.12.2014
Сообщений: 25

спс. сейчас попробую разобраться )
Ответить с цитированием
  #6 (permalink)  
Старый 07.12.2014, 13:04
Интересующийся
Отправить личное сообщение для yura_yushkevich Посмотреть профиль Найти все сообщения от yura_yushkevich
 
Регистрация: 07.12.2014
Сообщений: 25

О!!! Получилось

вот так сделал

$(document).ready(function(){

	$("#link_1").mouseenter(function(){
		$(block_1).animate({height: 'show'}, 500);
	});
	$("#block_1").mouseleave(function(){
		$(block_1).animate({height: 'hide'}, 500);
	});

});
Ответить с цитированием
  #7 (permalink)  
Старый 07.12.2014, 13:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Лучше так:
$(document).ready(function(){
 
    $("#link_1").mouseenter(function(){
        $("#block_1").animate({height: 'show'}, 500);
    });
    $("#block_1").mouseleave(function(){
        $(this).animate({height: 'hide'}, 500);
    });
 
});
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При наведении на элемент появление div, положение которого постоянно меняется Poision Элементы интерфейса 5 27.01.2014 19:43
Не могу создать вложенный DIV для отступа-не учитывается padding/margin род. элемента xintrea (X)HTML/CSS 8 24.09.2012 15:58
Не могу разобраться с двумерным массивом pro_xaoc jQuery 6 10.06.2012 12:11
Не могу разобраться с setTimeout bazilio2010 Общие вопросы Javascript 3 14.01.2012 00:17
Появление блоков div в зависимости от radio Oracool Events/DOM/Window 1 04.12.2009 18:39