2013-02-28 14 views
0

Я создаю простое меню, которое будет отображать пункты меню при нажатии на меню и будет скрываться при выводе из меню.Mouseover не работает должным образом

http://jsfiddle.net/MMHVv/3/

В светлячок это не работает, menuItem получает скрыт при наведении курсора мыши

в хроме

он работает правильно

ответ

1

Вы должны вообще избегать встроенного JavaScript, см: http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/

Вы должны использовать и наведении курсора мыши MouseOut функции вместо: http://api.jquery.com/mouseover/

$(function() { 
    $('#menu').mouseover(function() { 
     $('#TestMenu').show(); 
    }).mouseout(function(){ 
    $('#TestMenu').hide(); 
    });; 

});

http://jsfiddle.net/MMHVv/16/

The TestMenu также должны быть размещены внутри первого DIV, так что Mouseover также эффективен при наведении курсора мыши на TestMenu.

1

Я видел ваш код ..

я не знаю, что пошло не так с событием mousemove в firefox

, если заменить mousemove с mouseover он прекрасно работает ..

onmouseover="return ShowMenu($(this));" 
0

Попробуйте это только с вашей структуры, но один редактирования [removed the id for the menuitems]:

$(function() { 
    $('.menu').on({ 
    mouseover: function() { 
     $('.menuItem').slideUp(); 
     $(this).next().slideDown(); 
    } 
    }); 
    $('.menuItem').on({ 
    mouseleave: function() { 
     $(this).slideUp(); 
    } 
    }); 
}); 

ЗАКАНЧИВАТЬ fiddle

Смежные вопросы