Вы связываете событие hover для элемента <li>
, а не только для <a>
(черный ящик), поэтому оно срабатывает при наведении курсора на любой элемент в элементе списка.
Измените свой код на это:
// bind hover on the anchor element
$("#nav-shadow li a").hover(function() {
var e = this;
// remove the .find('a') as 'e' is the anchor
$(e).stop().animate({
...
}, 250, function() {
...
});
// use .sibling() instead of .find('img')
$(e).siblings("img.width320").stop().animate({
...
}, 250);
}, function() {
...
});
DEMO
Во второй части я понятия не имею, что вы пытаетесь объяснить ...: - /