Вместо mouseout
и mouseover
, которые запускают даже при вводе дочернего элемента , вы можете использовать .hover()
, например:
$("#nav li").hover(function(){
$(this).find("a").addClass("hover").fadeIn();
}, function(){
$(this).find("a").removeClass("hover").fadeOut();
});
.hover()
отображается на события mouseenter
и mouseleave
, которые не срабатывают при входе / выходе из детей, что и вызывает двойную анимацию в вашем текущем коде.
Не имеет прямого отношения к вопросу, но есть некоторые другие проблемы на странице, к которой вы хотите обратиться, включен jQuery (последний 1.4.x), а затем jQuery 1.2.6версия 1.5.1 плагина проверки (, который до 1.7 сейчас ).Я бы посмотрел на обновление вашего плагина проверки и удаление jQuery 1.2.6, так как это может вызвать головную боль позже (и более тяжелую страницу для пользователей сейчас).