Вы бы использовали оператор this
внутри обработчиков событий, поэтому вы ссылаетесь на это совпадение, а не на совпадение со всеми из них:
<script>
$(document).ready(function() {
// Initially hide
$("ul#navigation li div.chLeft,ul#navigation li div.chRight").hide();
// Show Effect
$("ul#navigation li").mouseenter(function(){
$(this).find("div.chLeft, div.chRight").show(function(){$(this).fadeIn(500);});
});
// Hide Effect
$("ul#navigation li").mouseleave(function(){
$(this).find("div.chLeft, div.chRight").hide(function(){$(this).fadeOut(100);});
});
});
</script>
Тестирование этого в jsfiddle дало некоторые странные эффекты, потому что при анимации мышь больше не находилась над ссылкой, поэтому происходило событие mouseout, вызывающее много анимаций пульсации.
Я изменил разметку на эту, и она стала немного более стабильной, но трудно сказать, чего вы пытаетесь достичь, не видя графики и страницы в контексте:
<ul id="navigation">
<li><div class="floatLeft"><a href="#"><div class="chLeft"></div>Link<div class="chRight"></div></a></div></li>
<li><div class="floatLeft"><a href="#"><div class="chLeft"></div>Link<div class="chRight"></div></a></div></l
<li><div class="floatLeft"><a href="#"><div class="chLeft"></div>Link<div class="chRight"></div></a></div></li>
<li><div class="floatLeft"><a href="#"><div class="chLeft"></div>Link<div class="chRight"></div></a></div></li>
<li><div class="floatLeft"><a href="#"><div class="chLeft"></div>Link<div class="chRight"></div></a></div></li>
</ul>
В этом обновленном HTML-фрагменте я поместил chLeft и chRight внутри тега <a>
, чтобы при его расширении мышь все еще находилась над ним. Попробуйте ссылку выше и посмотрите, как вы справляетесь с этим.