Я не совсем уверен, почему исчезновение вызывает у вас эти проблемы, но я вижу две проблемы с вашим кодом.
1) Основная проблема в том, что ваша .hover
функция повреждена.
Правильный формат
$(item).hover(
function(){}, //Actions on Mouseover
function(){} //Actions on Mouseout
);
2) Вы переключаете один класс на mouseover
и переключаете другой класс на mouseout
. Это приведет к некоторым странным результатам.
См. Мою ДЕМО без выцветания для дальнейшей иллюстрации. Также обратите внимание на мой сокращенный / упрощенный CSS.
Ваш код должен выглядеть примерно так
$("#menu_left a.menu").hover(function() {
$(this).toggleClass( "menu_over");
},function() {
$(this).toggleClass( "menu_over");
});
UPDATE
Если вы хотите сохранить фейды, используйте animate()
( DEMO )
$("#menu_left a.menu").hover(function() {
$(this).stop().animate({
'background-color': '#ff0000',
'color' : '#ffffff',
'border-color' : '#000000'
}, 200);
},function() {
$(this).stop().animate({
'background-color': '#ffff00',
'color' : '#ff0000',
'border-color' : '#ff0000'
}, 200);
});