Я подозреваю, что это связано с тем, что режим анимации jQuery по умолчанию имеет плавное ускорение и замедление (называемое swing
замедлением) - что приводит к внезапному останову, похожему на прыжок. Вы можете указать animate использовать только анимацию linear
, которая предотвращает переход:
$('img').hover(function () {
$(this).animate( { 'top': '-10' },1000, 'linear');
}, function() {
$(this).stop().animate( { 'top': '0' },1000,'linear');
});
http://jsfiddle.net/HMS2Z/4/